У меня есть эта рабочая служба, запускающая задания, но ежечасно проверяющая наличие заданий. Как я могу заставить его проверять час, а не ежечасно во время выполнения?
public class WorkerService: BackgroundService
{
private const int generalDelay = 20; //minutes
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
await Task.Delay(generalDelay * 60000, stoppingToken);
await DoBackupAsync();
}
}
private static Task DoBackupAsync()
{
DoWork d = new DoWork();
return Task.FromResult("Done");
}
}
В основном для этого я знаю, когда задания будут выполняться, и могу предсказать, а также планировать свои обновления между временем выполнения и завершением всех заданий.
Решение проблемы
Если вы хотите проверить текущий час, вы можете
использовать его, чтобы получить текущее значение var datetime = DateTime.UtcNow DateTime, а затем вы можете использовать
datetime.Hour его для получения значения текущего часа, чтобы вы могли использовать его для проверки.
Комментариев нет:
Отправить комментарий