feat(nextRunWorker): реализация пересчета просроченных nextRun для работ с автораспределением
This commit is contained in:
@@ -20,20 +20,20 @@ namespace PARR.BLL.Services.Implementations
|
||||
{
|
||||
nextStart = DateTimeOffset.UtcNow;
|
||||
|
||||
logger.LogInformation($"Запуск по расписанию. Интервал: {interval}, дата: {nextStart}");
|
||||
logger.LogInformation("Запуск по расписанию. Интервал: {interval}, дата: {nextStart}", interval, nextStart);
|
||||
|
||||
await intervalHandler.Invoke();
|
||||
|
||||
nextStart = nextStart.Add(interval);
|
||||
|
||||
logger.LogInformation($"Следующая дата запуска: {nextStart}. Интервал: {interval}.");
|
||||
logger.LogInformation("Следующая дата запуска: {nextStart}. Интервал: {interval}.", nextStart, interval);
|
||||
|
||||
var intervalOffset = nextStart - DateTimeOffset.UtcNow;
|
||||
if (intervalOffset < TimeSpan.Zero)
|
||||
{
|
||||
intervalOffset = TimeSpan.Zero;
|
||||
logger.LogWarning($"Время следующего запуска изменено на сейчас. Так как рассчитанное время запуска меньше чем сейчас, {nextStart}<{DateTimeOffset.UtcNow}. " +
|
||||
$"Это произошло потому что время выполнения основного метода больше чем заданный интервал повторений.");
|
||||
logger.LogWarning("Время следующего запуска изменено на сейчас. Так как рассчитанное время запуска меньше чем сейчас, {nextStart}<{now}. " +
|
||||
$"Это произошло потому что время выполнения основного метода больше чем заданный интервал повторений.", nextStart, DateTimeOffset.UtcNow);
|
||||
}
|
||||
|
||||
await Task.Delay(intervalOffset);
|
||||
|
||||
Reference in New Issue
Block a user