From eb46590c1dfef0d9e2a8ec725802120c243cdfca Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 23 Feb 2026 17:17:27 +0100 Subject: [PATCH] Make worker delay configurable via appsettings.json Refactored Worker to accept IConfiguration and read the delay interval from "Worker:DelayMilliseconds" in appsettings.json, replacing the previously hardcoded value. This allows the worker execution interval to be configured without code changes. Added a minimum delay safeguard and updated appsettings.json accordingly. --- EnvelopeGenerator.ServiceHost/Worker.cs | 6 ++++-- EnvelopeGenerator.ServiceHost/appsettings.json | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.ServiceHost/Worker.cs b/EnvelopeGenerator.ServiceHost/Worker.cs index 525275bc..f15c02ba 100644 --- a/EnvelopeGenerator.ServiceHost/Worker.cs +++ b/EnvelopeGenerator.ServiceHost/Worker.cs @@ -3,10 +3,12 @@ namespace EnvelopeGenerator.ServiceHost; public class Worker : BackgroundService { private readonly ILogger _logger; + private readonly int _delayMilliseconds; - public Worker(ILogger logger) + public Worker(ILogger logger, IConfiguration configuration) { _logger = logger; + _delayMilliseconds = Math.Max(1, configuration.GetValue("Worker:DelayMilliseconds", 1000)); } protected override async Task ExecuteAsync(CancellationToken stoppingToken) @@ -17,7 +19,7 @@ public class Worker : BackgroundService { _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now); } - await Task.Delay(1000, stoppingToken); + await Task.Delay(_delayMilliseconds, stoppingToken); } } } diff --git a/EnvelopeGenerator.ServiceHost/appsettings.json b/EnvelopeGenerator.ServiceHost/appsettings.json index 10f68b8c..5cc1e1ea 100644 --- a/EnvelopeGenerator.ServiceHost/appsettings.json +++ b/EnvelopeGenerator.ServiceHost/appsettings.json @@ -5,5 +5,8 @@ "Microsoft.AspNetCore": "Warning" } }, + "Worker": { + "DelayMilliseconds": 1000 + }, "AllowedHosts": "*" }