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(); services.AddScoped(); services.AddScoped(provider => provider.GetRequiredService()); services.AddScoped(provider => provider.GetRequiredService()); services.AddScoped(provider => provider.GetRequiredService()); services.AddScoped(provider => provider.GetRequiredService()); services.AddScoped(); return services; } }