public async Task StopAsync(CancellationToken cancellationToken) { if (_Stop == null) { return; } _Stop.Cancel(); try { await _Loop; } catch (OperationCanceledException) { } try { await BackgroundJobClient.WaitAllRunning(cancellationToken); } catch (OperationCanceledException) { } }
public Task StartAsync(CancellationToken cancellationToken) { _Stop = new CancellationTokenSource(); _Loop = BackgroundJobClient.ProcessJobs(_Stop.Token); return(Task.CompletedTask); }