public IScheduleBuilder CreateAsyncJobService <TJob>(Action <IJobStartBuilder> confifurator) where TJob : class, IAsyncJob { JobManager.AddAsyncJob <TJob>(); var builder = new JobServiceBuilder(); confifurator.Invoke(builder); var options = builder.Build(); services.AddSingleton(p => new ScopedAsyncJobService <TJob>(options.DueTime, options.Period, p.GetService <IServiceScopeFactory>())); services.AddTransient <TJob>(); return(this); }