Quartz的Misfire處理規則

2021-07-25 05:23:10 字數 1314 閱讀 4448

排程(schedulejob)或恢復排程(resumetrigger,resumejob)後不同的misfire對應的處理規則

——不觸發立即執行

——等待下次cron觸發頻率到達時刻開始按照cron頻率依次執行

——以錯過的第乙個頻率時間立刻開始執行

——重做錯過的所有頻率週期後

——當下一次觸發頻率發生時間大於當前時間後,再按照正常的cron頻率依次執行

——以當前時間為觸發頻率立刻觸發一次執行

——然後按照cron頻率依次執行

——以當前時間為觸發頻率立即觸發執行

——執行至finaltime的剩餘週期次數

——以排程或恢復排程的時刻為基準的週期頻率,finaltime根據剩餘次數和當前時間計算得到

——調整後的finaltime會略大於根據starttime計算的到的finaltime值

——以錯過的第乙個頻率時間立刻開始執行

——重做錯過的所有頻率週期

——當下一次觸發頻率發生時間大於當前時間以後,按照interval的依次執行剩下的頻率

——共執行repeatcount+1次

——不觸發立即執行

——等待下次觸發頻率週期時刻,執行至finaltime的剩餘週期次數

——以starttime為基準計算週期頻率,並得到finaltime

——即使中間出現pause,resume以後保持finaltime時間不變

——以當前時間為觸發頻率立即觸發執行

——執行至finaltime的剩餘週期次數

——以排程或恢復排程的時刻為基準的週期頻率,finaltime根據剩餘次數和當前時間計算得到

——調整後的finaltime會略大於根據starttime計算的到的finaltime值

——不觸發立即執行

——等待下次觸發頻率週期時刻,執行至finaltime的剩餘週期次數

——以starttime為基準計算週期頻率,並得到finaltime

——即使中間出現pause,resume以後保持finaltime時間不變

——以當前時間為觸發頻率立即觸發執行

——執行至finaltime的剩餘週期次數

——以排程或恢復排程的時刻為基準的週期頻率,finaltime根據剩餘次數和當前時間計算得到

——調整後的finaltime會略大於根據starttime計算的到的finaltime值

——此指令導致trigger忘記原始設定的starttime和repeat-count

——觸發器的repeat-count將被設定為剩餘的次數

——這樣會導致後面無法獲得原始設定的starttime和repeat-count值

quartz對任務超時和misfire的處理

quartz有個全域性的引數misfirethreshold設定可以允許的超時時間,超過了就不執行,未超過就執行。比如設定了misfirethreshold 30分鐘,如果乙個任務定時在10 30執行,但在10 29伺服器掛了,在10 50啟動,雖然任務超時了21分鐘,但小於misfirethres...

Quartz的cronExpression配置說明

cronexpression配置說明 字段允許值 允許的特殊字元 秒0 59 分0 59 小時0 23 日期1 31 l w c 月份1 12 或者 jan dec 星期1 7 或者 sun sat l c 年 可選 留空,1970 2099 表示式意義 0 0 12 每天中午12點觸發 0 15 ...

Quartz的cronExpression配置說明

cronexpression配置說明 字段 允許值 允許的特殊字元 秒 0 59 分 0 59 小時 0 23 日期 1 31 l w c 月份 1 12 或者 jan dec 星期 1 7 或者 sun sat l c 年 可選 留空,1970 2099 表示式 意義 0 0 12 每天中午12點...