46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using PARR.Master.Settings;
|
|
|
|
namespace PARR.Master
|
|
{
|
|
internal class Master : IMaster
|
|
{
|
|
private readonly WorkerSettings settings;
|
|
private readonly ILogger<Master> logger;
|
|
|
|
public Master(
|
|
WorkerSettings settings,
|
|
ILogger<Master> 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);
|
|
}
|
|
}
|
|
}
|
|
}
|