文章詳情頁
java - spring 定時任務執行異常
瀏覽:148日期:2023-12-09 13:42:23
問題描述
本來每天周一到周五凌晨1點執行的任務,查看日志發現在周日20點執行了,求解可能發生的原因,服務器是單核cpu.補充:我的定時任務類里有AB兩個定時任務,A任務周一到周五1點執行(@Scheduled(cron = '0 0 1 ? MON-FRI')),B任務每天3點執行(@Scheduled(cron = '0 0 3 ? *')),查看日志發現在周一到周五時,先執行A任務而后執行了B任務,也就是B沒有等到3點就執行了;當在周六周日是時B任務才是3點執行的,而周日20點A任務卻執行了。。。
問題解答
回答1:我猜測你并沒有指定定時任務的pool size,所以默認所有schedule的共用一個線程。需要指定schedule 的pool size大小
xml
<task :annotation-driven scheduler ='myScheduler' /><task :scheduler pool-size ='10' />
bean
@Bean(destroyMethod = 'shutdown') public Executor taskScheduler() {return Executors.newScheduledThreadPool(10); }
補充:共用一個線程將帶來嚴重的問題。如果A任務沒有在2小時內執行完,那么B任務的執行時間將延后,甚至不執行。
標簽:
java
相關文章:
1. android - weex 項目createInstanceReferenceError: Vue is not defined2. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點3. pdo 寫入到數據庫的內容為中文的時候寫入亂碼4. PHPExcel表格導入數據庫怎么導入5. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?6. vue2.0+webpack 如何使用bootstrap?7. PHP類封裝的插入數據,總是插入不成功,返回false;8. mac連接阿里云docker集群,已經卡了2天了,求問?9. python - 小白django提交數據后,沒有存儲到數據庫(查閱資料并沒有發現問題)10. javascript - 前端開發框架express,在他的模板引擎下怎么給按鈕添加綁定事件?
排行榜
