天天看點

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

分布式任務排程平台XXL-Job搭建

下載下傳: 

https://github.com/xuxueli/xxl-job

下載下傳 然後倒入到自己的工程裡面

引入後:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

 導入資料:跑一邊

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

 導入:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

修改:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

Window -->show view-->other-->Servers

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

把admin引入 

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

方法:

  右鍵:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

點選add and remove 即可

啟動 XXL-Job admin平台:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建
分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

 通路:http://localhost:8080/xxl-job-admin/

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

下面用戶端的demo (Spring boot 的 對接到Admin平台)

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

上面項目中整合XXL-Job 類繼承 IJobHandler類。然後通過注解 注冊到XXL-Job admin 容器中去  對接到平台上去  value是注冊上去的名稱

下面: 

 ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"

 xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin  ## 這是admin的位址

### xxl-job executor address

xxl.job.executor.appname=toov5-job    #執行器的名字 起了個名字

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

下面分别是 spring boot的 job服務别名 位址集合

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

點選儲存 

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

啟動執行器:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

啟動執行器後,會将伺服器本地資訊注冊到admin平台。資訊包括: 是否存活   定義的注解Value的值  (在先建立任務裡面都會有記錄了,下面的操作中可以選擇的)

 然後去任務管理李: 建立任務

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建
分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

 添加相關資訊後,儲存。任務就開始根據預定的時間規則去運作了

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

可以檢視日志:

分布式任務排程平台XXL-Job搭建分布式任務排程平台XXL-Job搭建

分析原理:

 在XXL-JOB觸發規則,查詢對應執行器(實際定時Job執行位址),然後再使用XXL-JOB發送請求到實際的定時JOB任務位址去執行。使用demoJobHandler名稱查找對應jvm伺服器上JobHandler容器。

擷取到類的資訊,反射進行執行。使用demoJobHandler名稱查找對應的jvm伺服器上@JobHandler容器擷取到類的資訊,再使用反射機制執行

注解底層實作:

@JobHandler(value = "demoJobHandler")   //job 注冊到容器中的名稱   下面的方法是執行的定時job  底層實作 value  demoJobHandler 名稱  對應存放類的class位址。然後反射擷取方法執行之

 原理:

 搭建xxl-job平台 ,然後建立執行器。netty會幫助建立服務端口号。執行器啟動時候,會把服務資訊注冊到xxl-job平台。

 建立執行器(實際任務位址)

 然後任務管理 新增任務   jobhandler   Corn表達式  

 首先在xxl-job平台出發job 然後擷取執行位址  

繼續閱讀