Spring Schedule定時任務突然崩掉不運行踩坑解決記錄

問題發生:tomcat運行着的後臺有3個spring定時任務,每天凌晨都會跑,突然有一天停了,再也不跑了;排查日誌發現在出問題的那一天凌晨,第一個任務執行完成之後,到了第二個時間點,開始執行後,報了一個 http請求頭解析異常的 錯誤,我在程序中的catch沒有捕獲到,(我捕獲的是Exception.class都沒有捕獲到),框架底層也沒有catch到,不知道爲啥,之後線程就死了,然後從此之後3個定時任務都不在跑了;

問題排查:網上查了一下,發現spring Schedule的定時任務雖然採用了 線程池,但是默認只設置了一個線程,也就是說,默認是單線程執行任務的,所以當時我的那個任務發生嚴重異常導致線程死亡,之後線程池沒有可以執行任務的線程,所以之後的定時任務都被阻塞了沒法執行

問題解決:1,配置spring Schedule爲多線程,設置線程池的線程數爲6,保證一個任務失敗,不影響其他任務的執行;2,所有定時任務增加手動調用接口,確保任務失敗,能手動執行;

個定時任務都不在跑了;
[Gè dìngshí rènwù dōu bùzài pǎole;]
 
In timed tasks are run;
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章