Implemented startup jobs #13

Merged
khwezi merged 1 commits from migration into master 2026-05-10 17:22:01 +02:00
4 changed files with 20 additions and 22 deletions
@@ -8,7 +8,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="LiteCharms.Abstractions" Version="1.14.0" />
<PackageReference Include="LiteCharms.Abstractions" Version="1.19.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.7" />
<PackageReference Include="Mediator.SourceGenerator" Version="3.0.2">
<PrivateAssets>all</PrivateAssets>
@@ -18,9 +18,9 @@
<!-- Lite Charms Libraries -->
<ItemGroup>
<PackageReference Include="LiteCharms.Extensions" Version="1.14.0" />
<PackageReference Include="LiteCharms.Features" Version="1.14.0" />
<PackageReference Include="LiteCharms.Models" Version="1.14.0" />
<PackageReference Include="LiteCharms.Extensions" Version="1.19.0" />
<PackageReference Include="LiteCharms.Features" Version="1.19.0" />
<PackageReference Include="LiteCharms.Models" Version="1.19.0" />
</ItemGroup>
<!-- Shared Global Usings -->
+1 -1
View File
@@ -12,7 +12,7 @@ builder.Services.AddEmailServices(builder.Configuration);
builder.Services.AddShopDatabase(builder.Configuration);
builder.Services.AddQuartzSchedulerClient(ShopSchedulerName, builder.Configuration);
builder.Services.AddHostedService<Worker>();
builder.Services.AddHostedService<JobWorker>();
var host = builder.Build();
+15
View File
@@ -0,0 +1,15 @@
using LiteCharms.Abstractions;
using LiteCharms.Features.Notifications.Events;
namespace LiteCharmsScheduler.Workers
{
public class JobWorker(IJobOrchestrator jobOrchestrator, ILogger<JobWorker> logger) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await jobOrchestrator.ScheduleAsync(ProcessEmailNotificationsEvent.Create(), "0 1 * * * ?", stoppingToken);
logger.LogInformation("Startup jobs scheduled");
}
}
}
-17
View File
@@ -1,17 +0,0 @@
namespace LiteCharmsScheduler.Workers
{
public class Worker(ILogger<Worker> 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);
}
}
}
}