From c47fef80b360aeebb2c16c50c7208c6ff1664a32 Mon Sep 17 00:00:00 2001 From: Khwezi Mngoma Date: Sat, 16 May 2026 00:42:47 +0200 Subject: [PATCH] Externalised email processor cron setting --- LiteCharmsScheduler/Workers/JobWorker.cs | 10 ++++++---- LiteCharmsScheduler/appsettings.json | 1 + litecharms-scheduler-uat.yml | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/LiteCharmsScheduler/Workers/JobWorker.cs b/LiteCharmsScheduler/Workers/JobWorker.cs index 88b2620..3b7532a 100644 --- a/LiteCharmsScheduler/Workers/JobWorker.cs +++ b/LiteCharmsScheduler/Workers/JobWorker.cs @@ -3,15 +3,17 @@ using LiteCharms.Features.Shop.Notifications.Events; namespace LiteCharmsScheduler.Workers { - public class JobWorker(IJobOrchestrator jobOrchestrator, ILogger logger) : BackgroundService + public class JobWorker(IJobOrchestrator jobOrchestrator, ILogger logger, IConfiguration configuration) : BackgroundService { - private const string emailProcessorCron = "0 */5 * * * ?"; - 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); + await jobOrchestrator.ScheduleAsync(emailProcessorJob, emailProcessorCron!, stoppingToken); logger.LogInformation("Startup jobs scheduled"); } diff --git a/LiteCharmsScheduler/appsettings.json b/LiteCharmsScheduler/appsettings.json index 350fcc2..ffa88a2 100644 --- a/LiteCharmsScheduler/appsettings.json +++ b/LiteCharmsScheduler/appsettings.json @@ -7,6 +7,7 @@ "Host": "mail.litecharms.co.za", "UseSsl": true }, + "EmailProcessorCron": "0 */5 * * * ?", "Monitoring": { "ApiKey": "", "Address": "http://aspire-dashboard-service.aspire.svc.cluster.local:18889", diff --git a/litecharms-scheduler-uat.yml b/litecharms-scheduler-uat.yml index a9406a2..6e8d87c 100644 --- a/litecharms-scheduler-uat.yml +++ b/litecharms-scheduler-uat.yml @@ -17,6 +17,7 @@ data: Email__Host: "mail.litecharms.co.za" Email__Port: "465" Email__UseSsl: "true" + EmailProcessorCron: "0 */5 * * * ?" --- apiVersion: v1 kind: Secret @@ -74,7 +75,7 @@ spec: envFrom: - configMapRef: name: scheduler-config - env: + env: - name: Email__Credentials__Password valueFrom: secretKeyRef: