Quartz 数据库架构
当使用基于 ADO.NET 的作业存储(通常是 JobStoreTX)时,Quartz 需要创建一组表。创建初始架构或迁移现有架构是一个手动步骤,因为 Quartz.NET 不会自动创建或迁移这些表。
| 表名 | 简要描述 |
|---|---|
| qrtz_calendars | 存储非标准日历 |
| qrtz_job_details | 存储 IJobDetail 数据 |
| qrtz_locks | Quartz 使用的锁 |
| qrtz_scheduler_state | 存储 IScheduler 数据 |
| qrtz_triggers | 存储 ITrigger 数据 |
| qrtz_cron_triggers | 存储 CRON 触发器的 cron 表达式 |
| qrtz_fired_triggers | 当前正在运行的触发器 |
| qrtz_blob_triggers | 包含二进制大对象数据存储的触发器表 |
| qrtz_simple_triggers | 用于非常简单的重复触发器的数据 |
| qrtz_simprop_triggers | 用于自定义触发器的可重用表。当前 ICalendarIntervalTrigger 和 IDailyTimeIntervalTrigger 使用此表 |
| qrtz_paused_trigger_grps | 存储 IScheduler.PauseTriggers 数据 |
为不同提供商创建这些表的脚本可以在 此处 找到。
Quartz 触发器表
此表存储了跨所有类型的 ITrigger 数据的配置。
| 触发器状态 | 描述 |
|---|---|
| 正常 | 触发器有触发时间,并将按计划执行 |
| 暂停 | 已暂停,将不执行 |
| 完成 | 触发器将不再触发,它没有更多的“触发时间” |
| 错误 | 触发器遇到错误,将不再触发 |
| 阻塞 | 此触发器关联了一个设置了 DisallowConcurrentExecutionAttribute 的作业,必须等待,但触发器希望被触发 |
| 无 | 触发器不存在 |
| 等待 | 仅数据库中使用,意味着作业已准备好被挑选执行 |
抠丁客
