Example #1
0
        public override async Task StartAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Starting");
            Status = EventStreamHandlerStatus.Starting;
            await base.StartAsync(cancellationToken);

            Status = EventStreamHandlerStatus.Started;
            _logger.LogInformation("Started");
        }
Example #2
0
        public override async Task StopAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Stopping");
            Status = EventStreamHandlerStatus.Stopping;

            _stoppingTokenSource.Cancel();

            if (_currentTask != null)
            {
                _logger.LogInformation("Waiting for tasks to complete before stopping");
                await Task.WhenAny(_currentTask, Task.Delay(-1, cancellationToken));
            }

            Status = EventStreamHandlerStatus.Stopped;
            _logger.LogInformation("Stopped");
        }