From c8834dc3beb85b7458a2652e82a9d72fa0e556c2 Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 23 Feb 2026 11:10:15 +0100 Subject: [PATCH] Add Worker background service to log periodic messages Added a Worker class in EnvelopeGenerator.ServiceHost that logs an informational message every second. Registered the Worker as a hosted service in Program.cs to run alongside the web API. --- EnvelopeGenerator.ServiceHost/Program.cs | 1 + EnvelopeGenerator.ServiceHost/Worker.cs | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 EnvelopeGenerator.ServiceHost/Worker.cs diff --git a/EnvelopeGenerator.ServiceHost/Program.cs b/EnvelopeGenerator.ServiceHost/Program.cs index 22f7b61a..1b603678 100644 --- a/EnvelopeGenerator.ServiceHost/Program.cs +++ b/EnvelopeGenerator.ServiceHost/Program.cs @@ -5,6 +5,7 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); +builder.Services.AddHostedService(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); diff --git a/EnvelopeGenerator.ServiceHost/Worker.cs b/EnvelopeGenerator.ServiceHost/Worker.cs new file mode 100644 index 00000000..525275bc --- /dev/null +++ b/EnvelopeGenerator.ServiceHost/Worker.cs @@ -0,0 +1,23 @@ +namespace EnvelopeGenerator.ServiceHost; + +public class Worker : BackgroundService +{ + private readonly ILogger _logger; + + public Worker(ILogger logger) + { + _logger = logger; + } + + protected override async Task ExecuteAsync(CancellationToken stoppingToken) + { + while (!stoppingToken.IsCancellationRequested) + { + if (_logger.IsEnabled(LogLevel.Information)) + { + _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now); + } + await Task.Delay(1000, stoppingToken); + } + } +}