22 lines
870 B
C#
22 lines
870 B
C#
using LiteCharms.Features.Quartz.Abstractions;
|
|
using LiteCharms.Features.Shop.Notifications.Events;
|
|
|
|
namespace LiteCharmsScheduler.Workers
|
|
{
|
|
public class JobWorker(IJobOrchestrator jobOrchestrator, ILogger<JobWorker> 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");
|
|
}
|
|
}
|
|
}
|