spring整合quartz分佈式任務 job任務丟失問題排查

 在項目運行時,發現Job會有不定期丟失的情況。經過不斷的排查和翻源碼找到是CronTrigger 觸發器的超時策略設置的問題。

修改方式如下:

     將超時策略由MISFIRE_INSTRUCTION_DO_NOTHING 改爲MISFIRE_INSTRUCTION_FIRE_ONCE_NOW,問題得到解決。

在用Mysql做分佈式任務時,查看job的超時策略的方式:

1.打開qrz_triggers表,找到MISFIRE_INSTR字段。

2.trigger_type爲CRON且MISFIRE_INSTR爲1,表明超時策略爲MISFIRE_INSTRUCTION_FIRE_ONCE_NOW。

3.trigger_type爲CRON且MISFIRE_INSTR爲2,表明超時策略爲MISFIRE_INSTRUCTION_DO_NOTHING 。

 

博客比較簡單,並沒有詳細介紹quartz的分佈式任務實現方式,但是找到了問題所在。如有問題,請留言溝通。

ps:

參考文檔:  1.超時策略詳細的介紹:https://www.cnblogs.com/daxin/p/3919927.html

                  2.最全Quartz系統參數配置詳解:    https://blog.csdn.net/zixiao217/article/details/53091812

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章