feat(master): Подкготовка расписания
This commit is contained in:
45
PARR.Master/Master.cs
Normal file
45
PARR.Master/Master.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user