Files
xiong 4793ad1832
Some checks failed
ci / release-gate (push) Has been cancelled
fix(worker): enable safe multi-instance job processing
2026-08-04 14:29:11 +08:00

24 lines
1.1 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Tiku.Application.Jobs;
using Tiku.Infrastructure.Jobs;
namespace Tiku.Infrastructure;
internal static class JobsModule
{
internal static IServiceCollection AddJobsModule(this IServiceCollection services)
{
services.TryAddSingleton(TimeProvider.System);
services.AddSingleton(BackgroundJobLeaseTiming.Default);
services.AddSingleton<BackgroundJobLeaseManager>();
services.AddScoped<BackgroundJobService>();
services.AddScoped<IBackgroundJobService>(provider => provider.GetRequiredService<BackgroundJobService>());
services.AddScoped<IBackgroundJobQueue>(provider => provider.GetRequiredService<BackgroundJobService>());
services.AddScoped<IBackgroundJobProcessor>(provider => provider.GetRequiredService<BackgroundJobService>());
services.AddScoped<IBackgroundJobOperations>(provider => provider.GetRequiredService<BackgroundJobService>());
services.AddScoped<BackgroundJobHandlerRegistry>();
return services;
}
}