Quartz在服务异常中断或者重启后,不执行之前漏掉的任务,重新运行下一次任务
Quartz默认重启后会执行之前的任务,所以如果不想执行之前漏掉的任务,需要设置一下两个地方:
CRON triggers
CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity(name, TRIGGER_GROUP)
.withSchedule(
CronScheduleBuilder.cronSchedule(time)
.withMisfireHandlingInstructionDoNothing())
.build();// 触发器名,触发器组,触发器时间设定
withMisfireHandlingInstructionDoNothing(所有的misfire不管,执行下一个周期的任务)
在quartz.properties配置文件中添加:
#这个时间大于10000(10秒)会导致MISFIRE_INSTRUCTION_DO_NOTHING不起作用。
org.quartz.jobStore.misfireThreshold = 1000