using Microsoft.Extensions.Logging; using PARR.Master.Settings; namespace PARR.Master { internal class Master : IMaster { private readonly WorkerSettings settings; private readonly ILogger logger; public Master( WorkerSettings settings, ILogger logger ) { this.settings = settings; this.logger = logger; } public async Task StartAsync() { logger.LogInformation("Запуск сервиса."); var nextStart = DateTime.Now; while (true) { if (nextStart.Hour == DateTime.Now.Hour && nextStart.Minute == DateTime.Now.Minute) { logger.LogInformation("Запуск по расписанию."); //todo: // await Tratata(); nextStart = DateTime.Now.Add(settings.RepeatEvery); logger.LogInformation($"Следующая дата запуска: {nextStart}"); } // Каждую минуту await Task.Delay(60 * 1000); } } } }