27.0 定时调度Quartz

1 nuget添加引用 2 三大核心对象: IScheduler:单元/实例,在这里去完成定时任务的配置 只有单元启动,里面的作业才能正常运行 IJob:任务,定时执行动作就是Job ITrigger:定时策略 就可以完成基本的定时任务 3 传参数问题 a)jobDetail.JobDataMap.Add b) trigger.JobDataMap.Add c) 要注意,使用MergedJobDataMap有覆盖,后者为准 4 为啥是job+trigger(更灵活) 拆分真的挺好,方便复用,一个job绑定多个trigger 刚才的传参数,就也应该分开一下 归档数据的任务(业务表+归档表--把30天之前的数据都移到归档表) 订单表(30天)---死循环Task--检查日期---做一次归档 物流表(60天)---死循环Task--检查日期---做一次归档 。。。。100个类似需求 希望作业能通用,表不一样,操作差不多,job完成通用逻辑 需要业务表+归档表,这个由IJobDetail传递参数来确定 不同的detail可能频率不同,所以拆分成2个 执行频率不同的,就需要不同的trigger,这个时候可能条件是不一样的 按天执行,就只检测day; 按小时执行,就得细致到Hour; 按分钟执行,会细致到minute 所以trigger也得传参数 5 常用Trigggr: SimpleTrigger:从什么时间开始,间隔多久执行重复操作,可以限制最大次数 Cron:表达式的方式,可以灵活订制时间规则(详情见文档) 6 Listener框架的各个环节--事件能做的监听 CustomSchedulerListener CustomTriggerListener CustomJobListener 7 LogProvider可以展示框架运行的一些信息