# quartz **Repository Path**: tanghanhan/quartz ## Basic Information - **Project Name**: quartz - **Description**: 定时任务调度 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # quartz ## 项目说明 本项目基于SpringBoot2.1.6.RELEASE版本,使用spring-boot-starter-quartz整合包,版本为2.3.1。
quartz.sql在resource/sql目录下,默认为MySQL数据库脚本。
使用swagger展示部分接口,更详细的在QuartzUtil工具类中
如果需要使用其他数据库脚本文件,在对应的Quartz版本的org.quartz.impl.jdbcjobstore目录下查找即可。 ## 介绍 Quartz任务调度的主要元素有:Trigger(触发器)、Sheduler(任务调度器)、Job(任务)。
Trigger >定义任务执行的方式、间隔时间。 Job(JobDetail) >任务具体执行的逻辑。 Scheduler >是Quartz的核心所在,所有的任务都是通过scheduler开始。
## 配置说明 **org.quratz.jobStore.misfireThreshold** >调度引擎的忍耐时间。如果超过这个时间,调度引擎会认为此任务已超时,按照我们设置的超时策略去执行;如果未超过此时间,会将此期间所有未执行的任务依次执行。 ## 注解说明 **@PersistJobDataAfterExecution** >使JobDetail有状态,告诉Quartz在执行完execute()方法成功完成(未抛出异常)后,对Job的JobDetailMap进行更新后进行存储。 **@DisallowConcurrentExecution** >禁止并发执行多个相同的JobDetail。同样的JobDetail必须等待当前的JobDetail执行完成后,才可以执行;如果某个JobDetail执行时间为5s,执行间隔时间为3s,当到达下一次执行时,下一个JobDetail会另起一个线程等待当前JobDetail执行完之后,直接执行(如果JobDetail执行时间比间隔时间长,会导致间隔时间失效)。