withMisfireHandlingInstruction
調(diào)度(scheduleJob)或恢復(fù)調(diào)度(resumeTrigger,resumeJob)后不同的misfire對(duì)應(yīng)的處理規(guī)則
CronTrigger
withMisfireHandlingInstructionDoNothing
——不觸發(fā)立即執(zhí)行
——等待下次Cron觸發(fā)頻率到達(dá)時(shí)刻開(kāi)始按照Cron頻率依次執(zhí)行
withMisfireHandlingInstructionIgnoreMisfires
——以錯(cuò)過(guò)的第一個(gè)頻率時(shí)間立刻開(kāi)始執(zhí)行
——重做錯(cuò)過(guò)的所有頻率周期后
——當(dāng)下一次觸發(fā)頻率發(fā)生時(shí)間大于當(dāng)前時(shí)間后,再按照正常的Cron頻率依次執(zhí)行
withMisfireHandlingInstructionFireAndProceed
——以當(dāng)前時(shí)間為觸發(fā)頻率立刻觸發(fā)一次執(zhí)行
——然后按照Cron頻率依次執(zhí)行
SimpleTrigger
withMisfireHandlingInstructionFireNow
——以當(dāng)前時(shí)間為觸發(fā)頻率立即觸發(fā)執(zhí)行
——執(zhí)行至FinalTIme的剩余周期次數(shù)
——以調(diào)度或恢復(fù)調(diào)度的時(shí)刻為基準(zhǔn)的周期頻率,FinalTime根據(jù)剩余次數(shù)和當(dāng)前時(shí)間計(jì)算得到
——調(diào)整后的FinalTime會(huì)略大于根據(jù)starttime計(jì)算的到的FinalTime值
withMisfireHandlingInstructionIgnoreMisfires
——以錯(cuò)過(guò)的第一個(gè)頻率時(shí)間立刻開(kāi)始執(zhí)行
——重做錯(cuò)過(guò)的所有頻率周期
——當(dāng)下一次觸發(fā)頻率發(fā)生時(shí)間大于當(dāng)前時(shí)間以后,按照Interval的依次執(zhí)行剩下的頻率
——共執(zhí)行RepeatCount+1次
withMisfireHandlingInstructionNextWithExistingCount
——不觸發(fā)立即執(zhí)行
——等待下次觸發(fā)頻率周期時(shí)刻,執(zhí)行至FinalTime的剩余周期次數(shù)
——以startTime為基準(zhǔn)計(jì)算周期頻率,并得到FinalTime
——即使中間出現(xiàn)pause,resume以后保持FinalTime時(shí)間不變
withMisfireHandlingInstructionNowWithExistingCount
——以當(dāng)前時(shí)間為觸發(fā)頻率立即觸發(fā)執(zhí)行
——執(zhí)行至FinalTIme的剩余周期次數(shù)
——以調(diào)度或恢復(fù)調(diào)度的時(shí)刻為基準(zhǔn)的周期頻率,FinalTime根據(jù)剩余次數(shù)和當(dāng)前時(shí)間計(jì)算得到
——調(diào)整后的FinalTime會(huì)略大于根據(jù)starttime計(jì)算的到的FinalTime值
withMisfireHandlingInstructionNextWithRemainingCount
——不觸發(fā)立即執(zhí)行
——等待下次觸發(fā)頻率周期時(shí)刻,執(zhí)行至FinalTime的剩余周期次數(shù)
——以startTime為基準(zhǔn)計(jì)算周期頻率,并得到FinalTime
——即使中間出現(xiàn)pause,resume以后保持FinalTime時(shí)間不變
withMisfireHandlingInstructionNowWithRemainingCount
——以當(dāng)前時(shí)間為觸發(fā)頻率立即觸發(fā)執(zhí)行
——執(zhí)行至FinalTIme的剩余周期次數(shù)
——以調(diào)度或恢復(fù)調(diào)度的時(shí)刻為基準(zhǔn)的周期頻率,FinalTime根據(jù)剩余次數(shù)和當(dāng)前時(shí)間計(jì)算得到
——調(diào)整后的FinalTime會(huì)略大于根據(jù)starttime計(jì)算的到的FinalTime值
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
——此指令導(dǎo)致trigger忘記原始設(shè)置的starttime和repeat-count
——觸發(fā)器的repeat-count將被設(shè)置為剩余的次數(shù)
——這樣會(huì)導(dǎo)致后面無(wú)法獲得原始設(shè)定的starttime和repeat-count值
轉(zhuǎn)載于:https://www.cnblogs.com/mumian2/p/10735206.html
總結(jié)
以上是生活随笔為你收集整理的withMisfireHandlingInstruction的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python源码剖析新版_Python
- 下一篇: 从底层重学 Java 之 Stream