項目中除了主流業(yè)務媳纬,往往帶有很多附帶功能昭抒,比如訂單確認給客戶發(fā)送郵件或者短信叠骑,流程審批完成給申請人發(fā)送審批完成消息旧蛾,根據(jù)會員生日提前發(fā)生日問候 等等叼架,這些功能一般都是以任務的形式存在汁尺,少量的任務還好通今,如果多了酱固,一個集中管理任務的平臺還是非常有必要的,xxl-job非常的優(yōu)秀蒸健,是許雪里大神的作品座享,官方介紹在 http://www.xuxueli.com/xxl-job 這篇文章主要介紹平臺的搭建及項目接入。
(一) 環(huán)境要求
- Centos 7.5.1804
- Docker 18.06.1-ce
- Mysql 5.7.11
(二) 安裝設置
a) Mysql安裝似忧,我是采用的5.7.11 的鏡像安裝渣叛,運行命令下載鏡像docker pull mysql:5.7.11,然后執(zhí)行 docker run --name mysql -p 3307:3306 -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.11盯捌,注意映射路徑要提前在宿主機上創(chuàng)建淳衙。我這里3306已經(jīng)被其他程序占用,改成了3307饺著,實際項目可以用默認端口3306箫攀。
b) 安裝
為了方便安裝我整理成了安裝包放在了百度網(wǎng)盤,只需兩步就能安裝完成幼衰,點擊安裝包下載 靴跛,壓縮包文件目錄結構如下,
- application.properties 為配置文件渡嚣,一般只需要修改這個配置文件即可梢睛。
- linux-start 為Linux下運行腳本,如果沒有執(zhí)行權限识椰,記得加權限
- win-start 為windows 下運行腳本
- tables_xxl_job.sql 為數(shù)據(jù)結構腳本
- xxl-job-admin-1.9.2-SNAPSHOT.jar 為項目包
首先把數(shù)據(jù)結構導入到數(shù)據(jù)庫绝葡,執(zhí)行任何數(shù)據(jù)庫客戶端,執(zhí)行數(shù)據(jù)結構腳本即可導入腹鹉,記得修改application配置文件中的數(shù)據(jù)庫鏈接信息藏畅,然后執(zhí)行對應的環(huán)境腳本即可。等腳本運行完功咒,可以在瀏覽器輸入http://192.168.1.215:8089愉阎,可以看到登錄界面
具體端口號可以在配置文件中設置,輸入賬號 admin/123456航瞭,就可以進入job管理平臺诫硕,然后創(chuàng)建自己的執(zhí)行器及任務。
在日志中可以方便的查看每次運行結果
更多使用說明參加官方文檔 http://www.xuxueli.com/xxl-job/#/
c) 項目接入
i. job-client包
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.9.2-SNAPSHOT</version>
</dependency>
ii. 編輯配置文件application.properties
server.port=8020
# 日志配置文件
logging.config=classpath:logback.xml
### 管理地址
xxl.job.admin.addresses=http://192.168.1.188:8088
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=192.168.1.188
xxl.job.executor.port=9998
xxl.job.alarmEmail=1441299@qq.com
xxl.job.accessToken=
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### 日志保留時長
xxl.job.executor.logretentiondays=-1
xxl.job.db.driverClass=com.mysql.jdbc.Driver
xxl.job.db.url=jdbc:mysql://localhost:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8
xxl.job.db.user=root
xxl.job.db.password=123456
xxl.job.login.username=admin
xxl.job.login.password=123456
到這里分布式任務平臺搭建及使用就介紹完了刊侯,如果使用過程有問題及好的建議章办,歡迎留言,共同進步滨彻。
歡迎溝通及共同進步
QQ:1441299
Email:1441299@qq.com