using System; using System.Collections.Generic; using ProjectBase.Data.BaseDAL; using ProjectBase.Data.Logs; using Quartz; using Quartz.Impl; using SIMDP.Model; namespace SIMDP.BLL { public class SchedulerHelper { //string timeSpan = "0 0 12 * * ?"; //每天12点执行 //string timeSpan = "0/10 * * * * ? ";//每十秒执行一次 string timeSpan = "0 0/4 * * * ? ";//每1分执行一次 IScheduler scheduler; IJobDetail job; ICronTrigger trigger; public async void Start() { // Quartz.Logging.LogExtensions.IsDebugEnabled(Quartz.Logging.ILog) // int i = Quartz.Logging.LogLevel StdSchedulerFactory factory = new StdSchedulerFactory(); scheduler = await factory.GetScheduler(); await scheduler.Start(); job = JobBuilder.Create() .Build(); trigger = (ICronTrigger)TriggerBuilder.Create() .StartNow() .WithCronSchedule(timeSpan) .Build(); await scheduler.ScheduleJob(job, trigger); } public void Stop() { try { scheduler.Shutdown(); } catch (Exception ex) { LogHelper.log.Error(string.Format("关闭定时任务出现错误:{0}", ex.ToString())); } } } }