quartz暂停及恢复任务解决恢复时一咕噜把未执行的全补回来的问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > quartz暂停及恢复任务解决恢复时一咕噜把未执行的全补回来的问题

quartz暂停及恢复任务解决恢复时一咕噜把未执行的全补回来的问题

 2014/12/25 12:32:59  jdkleo  程序员俱乐部  我要评论(0)
  • 摘要:网上文章都说了pauseTriggerresumeTrigger神马的暂停恢复任务但是这样设了之后,在恢复的时候会把暂停期间没执行的任务又TM给补上了,很多人便说了,这TM不是我想要的啊!你想要的是神马?我想要的啊,我想要的是暂停期间恢复后就不补了。好吧,某人给主意了,设置mps.add("misfireInstruction",CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);嗯,这个参数按字面理解,确实是解决如上问题的。但是但是神马呢?但是这样设置后
  • 标签:解决 Quartz 问题 执行

网上文章都说了

pauseTrigger resumeTrigger神马的暂停恢复任务

但是这样设了之后,在恢复的时候会把暂停期间没执行的任务又TM给补上了,很多人便说了,这TM不是我想要的啊!

你想要的是神马?

我想要的啊,我想要的是暂停期间恢复后就不补了。

好吧,某人给主意了,设置

?

class="java">mps.add("misfireInstruction", CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);

?嗯,这个参数按字面理解,确实是解决如上问题的。

?

但是

但是神马呢?

但是这样设置后,某些人调试的时间,会发现它并没有起作用啊!

原因是神马呢?

quartz.properties中还需要配置这个参数值,要正确的值,如下:

#这个时间大于10000(10秒)会导致MISFIRE_INSTRUCTION_DO_NOTHING不起作用。
org.quartz.jobStore.misfireThreshold = 5000

?好啦,问题保管解决,不解决你找我!

解释下这个配置设置的意义

misfireThreshold表示恢复后,暂停多长时间之内的消息还是会被执行的,比如我任务是3秒一执行,我这个参数设5000(5秒),那么你如果暂停了,恢复的时候还会再补一次为神马呢,5秒内会包含1个3秒,但不包含2个3秒,所以你懂的。如果你设置为10000(10S),那它会补3次,3*3=9嘛。你懂的。

发表评论
用户名: 匿名