Quartz任务调度框架

三大参数

Quartz任务调度框架
1.jobDetail
包装一些任务的自定义信息
2.Trigger 触发器

2.1 简单的任务,每隔多长时间可以执行
2.2 cron表达式
2.3 一天之内的触发规则
2.4 日历的触发规则

3.Scheduler 调度器
指挥执行,本质是线程轮询扫描,调度器是单例的。
jobstore 保存任务信息,一种是保存到内存,另一种是通过jdbc 持久化。
利用自带的建表脚本生产11张表!


任务如何随spring启动而执行?
commandLineRunner接口,可以实现spring启动后执行任务。

集群部署,如何不重复?
通信、共享数据、协调
redis分布式锁、zk、Mq:多对多,去中心化;最好选择中心化方式。
而quartz采取数据库解决,来共享数据,保证不重复。通过配置文件,打开集群开关即可。
clusterManager来管理所有的任务,来保证任务不漏。(原理是行级别锁quartz_lock),主要是加了for update行级别锁,发生异常会回滚,释放锁。
Quartz任务调度框架