SpringCloud + xxl-job 任務調度的簡單使用


概述:

  xxl-job是一個輕量級分布式任務調度平台,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。

  之前開發的SpringCloud項目,因為其中有個應用有幾個定時任務,為了統一管理和更可視化以及監控提醒於是加入了xxl-job。好了,廢話不多說,直接上干貨。

使用:

  首先在github上下載源碼https://github.com/xuxueli/xxl-job,導入/xxl-job/doc/db/tables_xxl_job.sql的sql文件

  然后導入其中的xxl-job-admin,我把xxl-job任務調度單獨抽成了一個服務(堅持一個服務專做一件事)然后修改application.properties的配置,

  修改端口號,這里我的job應用端口是8083

  

 

 

 

  

 

修改數據庫的路徑和賬號密碼

  這是我的數據庫配置,

 

 

  然后修改這里這里在后邊解釋為什么要配置郵箱(發件人的郵箱),這里的密碼不是登陸的密碼,而是這里的授權碼

 

 

  這里簡單說一下授權碼的配置,登陸163郵箱然后點擊設置,再點擊POP3/SMTP/IMAP,然后再點擊客戶端授權密碼--->開啟客戶端授權碼--->重置授權碼(如果忘記了授權碼),然后設置授權碼,這個授權碼就是

spring.mail.password的密碼。(port要填寫什么根據自己的實際情況填寫我給粘到下邊了)

  然后在xxl-job-admin服務中導入xxl-job-core的包

<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.0</version>
</dependency>
好的,啟動這個應用(這里要先啟動一下eureka)然后訪問localhost:8083(自己配置的端口號)
如果出現這個界面,那就是配置成功了。(默認賬號密碼是admin 123456)

 

 

 



下一步要在有定時任務的應用中配置
   在有定時任務的應用中導入xxl-job-core包(同上),然后在應用的yml/properties的配置文件中加入配置(這里我的是.yml文件)
    

    

 

 

   然后配置好自己此應用的端口號,然后新建一個config去賦值(在下載的文件中xxl-job-2.1.0\xxl-job-2.1.0\xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com\xxl\job\executor\core\config\XxlJobConfig.java,可以直接導入)

    

 

 

     然后再去新建一個類繼承IJobHandler然后execute的方法中編寫自己要執行的定時任務,

    

 

    這里的XxlJobLogger.log是xxl收集日志的類,好了,到此為止代碼方面就結束了,然后啟動這個應用

 

  下一步:

    打開localhost:8083,然后登陸進去點擊執行器管理--->新增執行器(這里的appName就是之前在有定時任務的應用中的.yml/.properties文件中配置的appname,名稱就相當於備注,排序就是列表顯示的先后順序,注冊方式選自動注冊,機器地址不用填寫,然后保存)--->點擊任務管理--->新增(這里的執行器就是剛才新增的執行器,任務描述就是備注,如果沒有集群這里的路由策略就隨便選一個就可以,cron就是執行定時任務的執行策略不懂得可以去搜搜,運行模式就選bean就可以具體的也可以去百度一下,JobHandler是之前新建的定時任務類,阻塞處理策略就不用解釋了字面意思就可以理解,子任務id是什么呢,如果定時任務直接有業務關聯要有先后順序的話這里的子任務id就要寫執行完這個任務需要立馬執行下個任務的id,任務超時時間就是如果這個任務超過了這個設定的時間那么就會報警單位是秒,報警郵箱就是如果任務執行失敗了那么就會給這里填寫的郵箱發送信息,可以填寫多個,那么發件人是誰呢,就是之前說的在xxl-job-admin中配置的163郵箱)都填寫完了然后點擊保存。

   

 

 

 

  下一步:

  這里填寫完了就要執行這里的操作了(執行就是執行一次,啟動就會根據填寫的cron去定時的執行)

    

 

  xxl-job是個開源的平台,里邊的外觀功能都可以自己去修改和定義的。

  好了,大致就是這些了,如果有說的不對的地方還希望大家指點出來。

 


免責聲明!

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



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