介紹:
XXL-JOB是一個輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴(kuò)展?,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。
幾個特性:
1、簡單:支持通過Web頁面對任務(wù)進(jìn)行CRUD操作,操作簡單,一分鐘上手;
2、動態(tài):支持動態(tài)修改任務(wù)狀態(tài)、啟動/停止任務(wù),以及終止運(yùn)行中任務(wù),即時生效
3、注冊中心: 執(zhí)行器會周期性自動注冊任務(wù), 調(diào)度中心將會自動發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行,每30秒清理一次注冊表中的無效機(jī)器。同時,也支持手動錄入執(zhí)行器地址;
4 、失敗處理策略:每10秒檢測失敗任務(wù),報警和重試;
5、一致性:“調(diào)度中心”通過DB鎖保證集群分布式調(diào)度的一致性, 一次任務(wù)調(diào)度只會觸發(fā)一次執(zhí)行
簡單的job配置以及代碼編寫:
①.編寫一個定時任務(wù)對象
1.在類上加上注解@JobHandler(value = “這個相當(dāng)于這個定時任務(wù)的code唯一標(biāo)識”)
2.該類要繼承IJobHandler接口,實現(xiàn)execute()方法進(jìn)行重寫
3.在execute方法腫編寫你需要處理的業(yè)務(wù)代碼請求即可!
4.加上@Component注解在容器啟動的時候?qū)⑦@個類注入到容器中
②去job的web頁面配置任務(wù)參數(shù)
1.配置執(zhí)行器
? 1.AppName是在服務(wù)的配置文件自定義的任務(wù)調(diào)度名稱,要跟配置文件定義的名稱一致地址才能映射上
? 2.Name自定義名稱,排序默認(rèn)1即可
? 3.注冊方式選擇手動注冊,機(jī)器地址的話就需要重啟之后任務(wù)調(diào)度中心根據(jù)你定義的AppName去服務(wù)配置文件映射 找到名稱一樣的服務(wù)地址
配置文件里面的任務(wù)調(diào)度配置要開啟:enable=true,創(chuàng)建好執(zhí)行器之后重啟服務(wù)就可自動映射上去啦!
2.任務(wù)管理配置
1.選擇對應(yīng)的綁定的執(zhí)行器,然后新建任務(wù)
1.路由策略:
-
策略 參數(shù)值 詳細(xì)含義 第一個 FIRST 固定選擇第一個機(jī)器 最后一個 LAST 固定選擇最后一個機(jī)器 輪詢 ROUND 依次選擇執(zhí)行 隨機(jī) RANDOM 隨機(jī)選擇在線的機(jī)器 一致性HASH CONSISTENT_HASH 每個人物按照Hash算法固定選擇某一臺機(jī)器,且所有任務(wù)均勻散列在不同機(jī)器上 最不經(jīng)常使用 LEAST_FREQUENTLY_USED 使用頻率最低的機(jī)器優(yōu)先被選擇 最近最久未使用 LEAST_RECENTLY_USED 最久未使用的機(jī)器優(yōu)先被選擇 故障轉(zhuǎn)義 FAILOVER 按照順序依次進(jìn)行心跳檢測,第一個心跳檢測成功的機(jī)器選定為目標(biāo)執(zhí)行器并發(fā)起調(diào)度 忙碌轉(zhuǎn)義 BUSYOVER 按照順序依次進(jìn)行空閑檢測,第一個空閑檢測成功的機(jī)器選定位目標(biāo)執(zhí)行器并發(fā)起調(diào)度 分片廣播 SHARDING_BROADCAST 廣播觸發(fā)對應(yīng)集群中所有機(jī)器執(zhí)行一次任務(wù),同事系統(tǒng)自動傳遞分片參數(shù),可根據(jù)分片參數(shù)開發(fā)分片任務(wù)
2.任務(wù)描述:
自定義描述內(nèi)容
3.Cron表達(dá)式:
這個參數(shù)表示你要多久,什么時候去調(diào)用這個任務(wù),調(diào)用時間可根據(jù)需求自定義
4.JobHandler:
這個參數(shù)就是代碼里面定義的任務(wù)唯一標(biāo)識
5.任務(wù)參數(shù):
傳遞給后臺代碼的參數(shù)值
6.子任務(wù)ID:
當(dāng)有任務(wù)需要相互依賴時使用,比如在對賬業(yè)務(wù)里,下載對賬文件任務(wù)成功之后,才開始對賬。那么,可以把這幾個任務(wù)當(dāng)成一個大任務(wù)來串行處理,即在一個任務(wù)的末尾觸發(fā)另一個任務(wù)。
如果我們需要在本任務(wù)執(zhí)行結(jié)束并且執(zhí)行成功的時候觸發(fā)另外一個任務(wù),那么就可以把另外的任務(wù)作為本任務(wù)的子任務(wù)運(yùn)行,就只需要在本任務(wù)里填入另外一個任務(wù)的jobId即可(可以在任務(wù)列表查看JobId)
7.阻塞處理策略:
策略 | 參數(shù)值 | 含義 |
---|---|---|
單機(jī)串行,默認(rèn) | SERIAL_EXECUTION | 調(diào)度請求進(jìn)入單機(jī)執(zhí)行器后,調(diào)度請求進(jìn)入FIFO隊列并以串行方式運(yùn)行 |
丟棄后續(xù)調(diào)度 | DISCARD_LATER | 調(diào)度請求進(jìn)入單機(jī)執(zhí)行器后,發(fā)現(xiàn)執(zhí)行器存在運(yùn)行的調(diào)度任務(wù),本次請求將會被丟棄并標(biāo)記為失敗 |
覆蓋之前調(diào)度 | COVER_EARLY | 調(diào)度請求進(jìn)入單機(jī)執(zhí)行器后,發(fā)現(xiàn)執(zhí)行器存在運(yùn)行的調(diào)度任務(wù),將會終止運(yùn)行中的調(diào)度任務(wù)并清空隊列,然后運(yùn)行本次調(diào)度任務(wù) |
可以手動調(diào)用任務(wù)進(jìn)行執(zhí)行:執(zhí)行成功之后查看日志!?。?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-489666.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-489666.html
到了這里,關(guān)于xxl-Job基礎(chǔ)配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!