using Microsoft.Extensions.DependencyInjection; using Quartz; using SlnMesnac.Quartz.Job; using System; using System.Threading; #region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2024 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:LAPTOP-E0N2L34V * 命名空间:SlnMesnac.Quartz * 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82 * * 创建者:WenJY * 电子邮箱:wenjy@mesnac.com * 创建时间:2024-03-27 21:58:35 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> namespace SlnMesnac.Quartz { public static class QuartzSetUp { [Obsolete] public static void AddQuartzSetUp(this IServiceCollection services) { services.AddQuartz(q => { q.UseMicrosoftDependencyInjectionJobFactory(); q.ScheduleJob(trigger => trigger.WithCronSchedule("0 0 * * * ? *").WithIdentity("AutoModeJob", "AutoModeJobGroup") ); q.ScheduleJob(trigger => trigger.WithCronSchedule("0 0 * * * ? *").WithIdentity("InspModeJob", "InspModeJobGroup") ); //q.SetProperty("quartz.scheduler.instanceName", "MyScheduler"); //q.SetProperty("quartz.scheduler.instanceId", "Auto"); //q.SetProperty("quartz.scheduler.startSchedulerOnStart", "false"); }); services.AddQuartzHostedService(options => { options.StartDelay = Timeout.InfiniteTimeSpan; options.WaitForJobsToComplete = true; }); services.AddSingleton(provider => { var provide = provider.GetRequiredService().GetScheduler().Result; provide.PauseAll(); return provide; }); } } }