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
时间: 2024-10-14 12:47:11