Quartz暂停及恢复任务时的补偿

在测试暂停和恢复任务的时候发现暂停一段时候后恢复任务,Quartz会把暂停时候应该执行的任务在恢复的一瞬间全部执行。

解决需要两步:
1、配置文件中org.quartz.jobStore.misfireThreshold的值必须调小,小于任务调度的间隔。
2、使用withMisfireHandlingInstructionDoNothing() 忽略掉调度暂停过程中没有执行的调度

CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression).withMisfireHandlingInstructionDoNothing();
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).withSchedule(cronScheduleBuilder).build();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容