XXL-JOB的使用教程


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 實際工作中任務的冪等性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 一個任務10分鍾就已經執行完成,10分鍾之后就需要kill掉這個資源,停止掉這個任務

 

 

 

 任務終止不能手動全部使用try  catch進行處理,對於線程終止的異常,我們需要拋出去

 

 上面的這個代碼才是正確的

執行分布式任務的時候一定要注意任務的冪等性,任務異常退出之后,第二次進來之前執行過的任務,不會在重新執行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 每10秒鍾執行一次定時任務

視頻來自博客:https://www.bilibili.com/video/BV1sX4y1K7ys?p=12

XXL-JOB高可用的方案

 

 

 定時任務的集群的功能:一個任務部署了3個節點,調度中心如何對任務進行調度了

第一個:選擇第一個注冊到調度中心的節點來執行任務

最后一個:選擇最后一個注冊到調度中心的節點來執行任務

輪詢:定時任務每隔5秒執行一次,調度中心第一選擇第一個節點執行,5秒之后選擇第二個節點來執行

故障轉移:第一個節點在執行的過程中失敗了,第一個節點進程掛了,調度中心選擇第二個節點來執行

忙碌轉移:第一個節點在執行任務的過程中,如果執行的過程中第一個節點的線程池資源已經被全部使用完成了,調度中心會遷移到第二個節點來執行

分片廣播:分片廣播的目的是提高任務的執行效率,調度中心讓三個節點同時執行分片任務。一個完成的任務是從數據庫中查詢出前去3000條數據,同一時間

第一個節點查詢前1000條數據,第二個接觸查詢前1000到2000條數據,第三個節點查詢前2000到3000條數據,並行執行提高效率

 

 這個任務調度中心每隔2秒會調度執行一次

 

 這里任務的阻塞處理策略:列如一個定時任務2秒被調動中心調度一次,但是任務的業務執行需要5秒,第二個調度的時候,業務的5秒還沒有執行完成,這個時候

單機串行:表示等第一個任務執行完成之后,在執行第二次被調度的任務,任務每隔2秒會被調度執行會造成大量的任務被阻塞

丟棄后續調度:如果現在還有任務沒有執行完成,后續調度的任務被直接丟棄

覆蓋之前調度:把當前正在執行的任務終止,執行新的任務

 

 子任務ID表示只有當前的任務執行完成之后,才會去執行這里填寫的子任務,這里填寫子任務ID就可以了,調度中心在當前的任務執行完成之后會自動的去執行子任務ID

 

 任務超時時間:表示一個任務在執行的過程中超過了超時時間,調動中心會終止該任務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM