/
rezvich
/
Prik
Обзор
Документация
Войти
/
rezvich
/
Prik
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Worker.cs
42 строки
1 KB
ItsEnd
Добавьте файлы проекта.
14 дек 2025, 15:59
14 дек 2025, 15:59
6781f40
Код
Авторство
О чём код?
//prik/Worker.cs using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using prik.Application; using prik.Infrastructure.Settings; namespace prik { public sealed class Worker : BackgroundService { private readonly IPipelineService _pipeline; private readonly AppSettings _cfg; private readonly ILogger<Worker> _log; public Worker(IPipelineService pipeline, AppSettings cfg, ILogger<Worker> log) { _pipeline = pipeline; _cfg = cfg; _log = log; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var poll = TimeSpan.FromSeconds(_cfg.Pipeline.PollSeconds); _log.LogInformation("Start. Poll={Poll}s InputDir={Dir}", poll.TotalSeconds, _cfg.Pipeline.InputDir); while (!stoppingToken.IsCancellationRequested) { try { await _pipeline.RunBatchAsync(stoppingToken); } catch (Exception ex) { _log.LogError(ex, "Batch failed"); } await Task.Delay(poll, stoppingToken); } } } }