protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var nextExecution = TimeSpan.FromSeconds(15); while (!stoppingToken.IsCancellationRequested) { logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now); await Task.Delay(nextExecution, stoppingToken); await runner.RunFlow(); nextExecution = TimeSpan .FromMinutes(configuration.GetValue <int>(ConfigurationKeys.WORKER_DELAY)) .NextTimeSpan(); } }