using PARR.Core.Services.Workload.Interfaces; using PARR.WorkloadBuilderWorker.Settings; namespace PARR.WorkloadBuilderWorker { public class IntervalWorker : BackgroundService { private readonly ILogger logger; private readonly IWorkloadIntervalService workloadIntervalService; private readonly WorkerSettings workerSettings; public IntervalWorker(ILogger logger, IWorkloadIntervalService workloadIntervalService, WorkerSettings workerSettings) { this.logger = logger; this.workloadIntervalService = workloadIntervalService; this.workerSettings = workerSettings; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { logger.LogInformation("Запуск {workerName}", nameof(IntervalWorker)); await workloadIntervalService.StartAsync(workerSettings.RepeatEvery, workerSettings.MqSettings); } } }