using LiteCharms.Features.Quartz.Abstractions; using LiteCharms.Features.Shop.Notifications.Events; namespace LiteCharmsScheduler.Workers { public class JobWorker(IJobOrchestrator jobOrchestrator, ILogger logger, IConfiguration configuration) : BackgroundService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) { string? emailProcessorCron = !string.IsNullOrWhiteSpace(configuration.GetSection("EmailProcessorCron").Value) ? configuration.GetSection("EmailProcessorCron").Value : "0 */4 * * * ?"; var emailProcessorJob = ProcessEmailNotificationsEvent.Create(); await jobOrchestrator.ScheduleAsync(emailProcessorJob, emailProcessorCron!, stoppingToken); logger.LogInformation("Startup jobs scheduled"); } } }