feat(esppOrderLoader): изменено журналирвоание

This commit is contained in:
Mikhail Kuznetsov
2026-02-09 12:00:46 +10:00
parent 25e7fe4b90
commit 7dd40d1701
16 changed files with 434 additions and 252 deletions

View File

@@ -14,6 +14,8 @@ namespace PARR.BLL.Services.Implementations
public async Task IntervalInitAsync(IntervalHandlerDelegate intervalHandler, TimeSpan interval)
{
logger.LogInformation("Инициализация интервального сервиса с интервалом: {Interval}", interval);
var nextStart = DateTimeOffset.UtcNow;
while (true)
@@ -22,22 +24,34 @@ namespace PARR.BLL.Services.Implementations
logger.LogInformation("Запуск по расписанию. Интервал: {interval}, дата: {nextStart}", interval, nextStart);
await intervalHandler.Invoke();
try
{
await intervalHandler.Invoke();
}
catch (Exception ex)
{
logger.LogError(ex, "Ошибка при выполнении интервального обработчика");
}
nextStart = nextStart.Add(interval);
logger.LogInformation("Следующая дата запуска: {nextStart}. Интервал: {interval}.", nextStart, interval);
logger.LogInformation("Следующая дата запуска: {NextStart}. Интервал: {Interval}.", nextStart, interval);
var intervalOffset = nextStart - DateTimeOffset.UtcNow;
if (intervalOffset < TimeSpan.Zero)
{
intervalOffset = TimeSpan.Zero;
logger.LogWarning("Время следующего запуска изменено на сейчас. Так как рассчитанное время запуска меньше чем сейчас, {nextStart}<{now}. " +
$"Это произошло потому что время выполнения основного метода больше чем заданный интервал повторений.", nextStart, DateTimeOffset.UtcNow);
logger.LogWarning(
"Время следующего запуска изменено на текущее время. Рассчитанное время запуска ({NextStart}) меньше текущего времени ({Now}). " +
"Это произошло потому что время выполнения основного метода больше чем заданный интервал повторений.",
nextStart,
DateTimeOffset.UtcNow);
}
logger.LogDebug("Ожидание {Delay} перед следующим запуском", intervalOffset);
await Task.Delay(intervalOffset);
}
}
}
}
}