using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Quartz; using Quartz.Impl; namespace WCS.WFormServices { public class QuartzStartup { private static ISchedulerFactory _schedulerFactory; private static IScheduler _scheduler; public static async Task Start() { //1、声明一个调度工厂 _schedulerFactory = new StdSchedulerFactory(); //2、通过调度工厂获得调度器 _scheduler = await _schedulerFactory.GetScheduler(); //3、开启调度器 await _scheduler.Start(); //4、创建一个触发器 //var trigger = TriggerBuilder.Create() // .WithSimpleSchedule(x => x.WithIntervalInSeconds(2).RepeatForever())//每两秒执行一次 // .Build(); ////5、创建任务 //var jobDetail = JobBuilder.Create() // .WithIdentity("job", "group") // .Build(); ////6、将触发器和任务器绑定到调度器中 //await _scheduler.ScheduleJob(jobDetail, trigger); return await Task.FromResult("将触发器和任务器绑定到调度器中完成"); } public static void Stop() { if (_scheduler == null) { return; } if (_scheduler.Shutdown(waitForJobsToComplete: true).Wait(30000)) _scheduler = null; else { } } } }