using LangGuan.Services; using LangGuan.Services.Job; using Microsoft.Extensions.DependencyInjection; using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace LangGuan.Command.Extension { public static class LoadJobListExtension { public static void AddJobService(this IServiceCollection services) { //services.AddSingleton(); services.AddTransient(); Monitor quartz = null; services.AddSingleton(); quartz = new Monitor(services.BuildServiceProvider()); using (var scope = services.BuildServiceProvider()) { var myService = scope.GetRequiredService(); var list = myService.GetList().GetAwaiter().GetResult(); if (list.Any()) { quartz.SetJobs(list); _ = quartz.StartAsync(); } } } } }