diff --git a/src/DigitalData.EmailProfiler.API/DigitalData.EmailProfiler.API.csproj b/src/DigitalData.EmailProfiler.API/DigitalData.EmailProfiler.API.csproj index 0c56541..ef6d119 100644 --- a/src/DigitalData.EmailProfiler.API/DigitalData.EmailProfiler.API.csproj +++ b/src/DigitalData.EmailProfiler.API/DigitalData.EmailProfiler.API.csproj @@ -4,14 +4,16 @@ net8.0 enable enable + dotnet-DigitalData.EmailProfiler.Service-e7ef6a9a-436f-48a1-b4f6-ec9381c8cb47 + - + diff --git a/src/DigitalData.EmailProfiler.API/Program.cs b/src/DigitalData.EmailProfiler.API/Program.cs index 48863a6..20adb8a 100644 --- a/src/DigitalData.EmailProfiler.API/Program.cs +++ b/src/DigitalData.EmailProfiler.API/Program.cs @@ -1,9 +1,10 @@ -var builder = WebApplication.CreateBuilder(args); +using DigitalData.EmailProfiler.API; -// Add services to the container. +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddHostedService(); builder.Services.AddControllers(); -// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle + builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); diff --git a/src/DigitalData.EmailProfiler.API/Worker.cs b/src/DigitalData.EmailProfiler.API/Worker.cs new file mode 100644 index 0000000..1714e66 --- /dev/null +++ b/src/DigitalData.EmailProfiler.API/Worker.cs @@ -0,0 +1,16 @@ +namespace DigitalData.EmailProfiler.API; + +public class Worker(ILogger Logger) : BackgroundService +{ + 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); + } + } +}