public override async Task StartAsync(CancellationToken cancellationToken) { _logger.LogInformation("Starting"); Status = EventStreamHandlerStatus.Starting; await base.StartAsync(cancellationToken); Status = EventStreamHandlerStatus.Started; _logger.LogInformation("Started"); }
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"); }