文章目录
- 一、quartz表信息
- 二、表字段说明
-
- 1.qrtz_blob_triggers
- 2.qrtz_calendars
- 3.qrtz_cron_triggers
- 4.qrtz_fired_triggers
- 5.qrtz_job_details
- 6. qrtz_locks
- 7.qrtz_paused_trigger_grps
- 8. qrtz_scheduler_state
- 9.qrtz_simple_triggers
- 10.qrtz_triggers
一、quartz表信息
- qrtz_blob_triggers : 以Blob 类型存储的触发器。
- qrtz_calendars:存放日历信息, quartz可配置一个日历来指定一个时间范围。
- qrtz_cron_triggers:存放cron类型的触发器。
- qrtz_fired_triggers:存放已触发的触发器
- qrtz_job_details:存放一个jobDetail信息。
- qrtz_job_listeners:job监听器。
- qrtz_locks: 存储程序的悲观锁的信息(假如使用了悲观锁)。
- qrtz_paused_trigger_graps:存放暂停掉的触发器。
- qrtz_scheduler_state:调度器状态。
- qrtz_simple_triggers:简单触发器的信息。
- qrtz_trigger_listeners:触发器监听器。
- qrtz_triggers:触发器的基本信息。
二、表字段说明
1.qrtz_blob_triggers
自定义触发器表,用的不太多。。
CREATE TABLE `qrtz_blob_triggers` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',`BLOB_DATA` blob COMMENT '基本信息',PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore并不知道如何存储实例的时候';
2.qrtz_calendars
日历信息触发器
CREATE TABLE `qrtz_calendars` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`CALENDAR_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`CALENDAR` blob NOT NULL COMMENT '日历信息',PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='日历信息触发器';
3.qrtz_cron_triggers
cron 表达式用的特别多。在线cron表达式生成地址
CREATE TABLE `qrtz_cron_triggers` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',`CRON_EXPRESSION` varchar(120) NOT NULL COMMENT 'cron表达式',`TIME_ZONE_ID` varchar(80) DEFAULT NULL COMMENT '时区',PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='cron触发器';
4.qrtz_fired_triggers
CREATE TABLE `qrtz_fired_triggers` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`ENTRY_ID` varchar(95) NOT NULL COMMENT '组织id',`TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',`INSTANCE_NAME` varchar(200) NOT NULL COMMENT '实例名称',`FIRED_TIME` bigint(13) NOT NULL COMMENT '触发时间',`SCHED_TIME` bigint(13) NOT NULL COMMENT '计划时间',`PRIORITY` int(11) NOT NULL COMMENT '权重',`STATE` varchar(16) NOT NULL COMMENT '状态',`JOB_NAME` varchar(200) DEFAULT NULL COMMENT '作业名称',`JOB_GROUP` varchar(200) DEFAULT NULL COMMENT '作业群组',`IS_NONCONCURRENT` varchar(1) DEFAULT NULL COMMENT '是否并行',`REQUESTS_RECOVERY` varchar(1) DEFAULT NULL COMMENT '是否要求唤醒',PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='存储与已触发的 Trigger 相关的状态信息,以及相联 Job的执行信息QRTZ_PAUSED_TRIGGER_GRPS 存储已暂停的 Trigger组的信息';
5.qrtz_job_details
CREATE TABLE `qrtz_job_details` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '调度器名称',`JOB_NAME` varchar(200) NOT NULL COMMENT '任务名称',`JOB_GROUP` varchar(200) NOT NULL COMMENT '任务群组',`DESCRIPTION` varchar(250) DEFAULT NULL COMMENT '说明',`JOB_CLASS_NAME` varchar(250) NOT NULL COMMENT '任务class全路径',`IS_DURABLE` varchar(1) NOT NULL,`IS_NONCONCURRENT` varchar(1) NOT NULL,`IS_UPDATE_DATA` varchar(1) NOT NULL,`REQUESTS_RECOVERY` varchar(1) NOT NULL,`JOB_DATA` blob,PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
6. qrtz_locks
CREATE TABLE `qrtz_locks` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`LOCK_NAME` varchar(40) NOT NULL COMMENT '锁名称',PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='通过悲观锁获取触发器';
在集群模式下,通过悲观锁来保证触发器有序的获取。
7.qrtz_paused_trigger_grps
CREATE TABLE `qrtz_paused_trigger_grps` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='被暂停的触发器';
8. qrtz_scheduler_state
CREATE TABLE `qrtz_scheduler_state` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '调度器名称',`INSTANCE_NAME` varchar(200) NOT NULL,`LAST_CHECKIN_TIME` bigint(13) NOT NULL COMMENT '最后验证时间',`CHECKIN_INTERVAL` bigint(13) NOT NULL COMMENT '时间间隔',PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
集群模式下,一般每一个服务对应表中的一条数据。并且定时更新表的LAST_CHECKIN_TIME
字段,来说明自己是存或状态。在没有zookeeper的情况下,在判断服务存或的时候,这种方式也算是一种相对较好的方式。SCHED_NAME
的名字可通过配置进行修改。
9.qrtz_simple_triggers
CREATE TABLE `qrtz_simple_triggers` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',`REPEAT_COUNT` bigint(7) NOT NULL COMMENT '重复次数',`REPEAT_INTERVAL` bigint(12) NOT NULL COMMENT '重复间隔',`TIMES_TRIGGERED` bigint(10) NOT NULL COMMENT '触发次数',PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='存储简单的Trigger,包括重复次数,间隔,以及已触的次数';
10.qrtz_triggers
CREATE TABLE `qrtz_triggers` (`SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',`TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',`TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',`JOB_NAME` varchar(200) NOT NULL COMMENT '作业名称',`JOB_GROUP` varchar(200) NOT NULL COMMENT '作业群组',`DESCRIPTION` varchar(250) DEFAULT NULL COMMENT '说明信息',`NEXT_FIRE_TIME` bigint(13) DEFAULT NULL COMMENT '下次执行时间',`PREV_FIRE_TIME` bigint(13) DEFAULT NULL COMMENT '上次执行时间',`PRIORITY` int(11) DEFAULT NULL COMMENT '线程优先级',`TRIGGER_STATE` varchar(16) NOT NULL COMMENT '触发状态此字段很重要',`TRIGGER_TYPE` varchar(8) NOT NULL COMMENT '触发器类型',`START_TIME` bigint(13) NOT NULL COMMENT '开始时间',`END_TIME` bigint(13) DEFAULT NULL COMMENT '结束时间',`CALENDAR_NAME` varchar(200) DEFAULT NULL COMMENT '日历名称',`MISFIRE_INSTR` smallint(2) DEFAULT NULL,`JOB_DATA` blob,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='触发器和作业绑定';
主要是对于触发器和作业的表的绑定。