python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...
SpringBoot入門建站全系列(三十二)接入xxl-job分布式任務調度平臺
一、概述
XXL-JOB是一個輕量級分布式任務調度平臺,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼并接入多家公司線上產品線,開箱即用。
但是我們到底用它來干什么呢?
我們都知道,Quartz是Java 編寫的開源作業調度框架,為在 Java 應用程序中進行作業調度提供了簡單卻強大的機制,在《SpringBoot入門建站全系列(十五)內置定時任務及Quartz定時任務使用》 一篇中,已經講述了Quartz的使用方法。
而XXL-JOB正是基于Quartz,并將Quartz的功能進行封裝,作為執行器,使其可以和一個統一的調度中心進行交互,將任務的調度管理交給調度中心處理,任務的執行交給Quartz執行。(XXL-JOB 2.1.0版本之后不再使用Quartz,但是本篇特意找到了使用Quartz的較新版本,2.0.1)。這樣,執行任務的每個機器相當于一個個客戶端,而調度中心則是各個客戶端的總管(調度中心也可以集群化部署,但要公用一個數據庫)。
首發地址:
品茗IT: https://www.pomit.cn/p/2412183455255041
如果大家正在尋找一個java的學習環境,或者在開發中遇到困難,可以加入我們的java學習圈,點擊即可加入,共同學習,節約學習時間,減少很多在學習中遇到的難題。
一、數據庫的初始化
需要先將xxl-job要求的表建好,地址是:https://gitee.com/xuxueli0323/xxl-job/tree/v2.0.1/doc/db 下的tables_xxl_job.sql文件。
如果不喜歡gitee,github地址是https://github.com/xuxueli/xxl-job;
但是gitee的速度快。
把tables_xxl_job.sql的sql執行下,注意里面的數據庫是xxl-job,可以改成自己的數據庫。
執行完成后,就出現這些表了:
二、調度中心的安裝
找到想要下載的版本的tag,比如我找的是2.0.1:https://gitee.com/xuxueli0323/xxl-job/tree/v2.0.1, 點擊下載。
注意,如果直接下載master,就是下載最新版本的xxl-job,可能不是你想要的。
2.0.1版本的xxl-job-admin改為SpringBoot應用了。
解壓后,將xxl-job下的xxl-job-admin項目導入到工作臺,如圖所示:
我們要修改的就是application.properties文件,可以將端口修改下,數據庫地址密碼等肯定要修改地;郵箱地址也是要修改地;登錄用戶名等隨意。
改完之后,打包,運行jar包。
運行成功后打開: http://127.0.0.1:8080/xxl-job-admin/ 即可。
三、執行器
執行器就是一個運行任務的客戶端。需要注冊到調度中心去。
本文假設你已經引入spring-boot-starter-web。已經是個SpringBoot項目了,如果不會搭建,可以打開這篇文章看一看《SpringBoot入門建站全系列(一)項目建立》。
首先,在調度中心新建執行器,這個步驟啥時候做其實都可以,如果想讓執行器自動注冊,需要在執行器啟動前在調度中心把執行器新建好。
3.1 調度中心新建執行器
選擇自動注冊,需要在執行器啟動前在調度中心把執行器新建好。手動注冊需要手動填入機器和端口列表。
建好后,執行器啟動之后,會自動注冊進來:
3.2 Maven依賴
需要引入xxl-job-core.
<dependency>3.3 配置文件
在application.properties 中需要配置數據庫相關信息的信息,如:
### 調度中心部署跟地址 [選填]:如調度中心集群部署存在多個地址則用逗號分隔。執行器將會使用該地址進行"執行器心跳注冊"和"任務結果回調";為空則關閉自動注冊; xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin### 執行器AppName [選填]:執行器心跳注冊分組依據;為空則關閉自動注冊 xxl.job.executor.appname=pomitcn### 執行器IP [選填]:默認為空表示自動獲取IP,多網卡時可手動設置指定IP,該IP不會綁定Host僅作為通訊實用;地址信息用于 "執行器注冊" 和 "調度中心請求并觸發任務"; xxl.job.executor.ip=### 執行器端口號 [選填]:小于等于0則自動獲取;默認端口為9999,單機部署多個執行器時,注意要配置不同執行器端口; xxl.job.executor.port=9999### 執行器通訊TOKEN [選填]:非空時啟用; xxl.job.accessToken=### 執行器運行日志文件存儲磁盤路徑 [選填] :需要對該路徑擁有讀寫權限;為空則使用默認路徑; xxl.job.executor.logpath=### 執行器日志保存天數 [選填] :值大于3時生效,啟用執行器Log文件定期清理功能,否則不生效; xxl.job.executor.logretentiondays=-13.4 執行器配置
需要配置handler的位置、xxl.job的相關參數等。
package3.5 新建Job執行Handler
xxl-job提供了多種任務執行方式:GLUE模式(包含JAVA(groovy)、shell、php、nodejs、python等多種方式)和Bean模式;
一般情況下我們是使用Bean模式來定義任務,因為這個是正常的JAVA開發人員的思維。而GLUE模式,是將代碼寫在表里,動態執行。
這里,我先講下怎么使用Bean模式。
開發步驟(官方說明): 1. 繼承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”; 2. 注冊到Spring容器:添加“@Component”注解,被Spring容器掃描為Bean實例; 3. 注冊到執行器工廠:添加“@JobHandler(value="自定義jobhandler名稱")”注解,注解value值對應的是調度中心新建任務的JobHandler屬性的值。 4. 執行日志:需要通過 "XxlJobLogger.log" 打印執行日志;
package四、測試任務執行
在調度中心的任務管理--> 新建任務:
建好以后,選擇執行器,可以看到當前任務狀態是stop:
可以點執行,也可以點啟動
執行: 只執行一次 啟動: 啟動定時任務,安裝cron表達式來執行。
我這里點執行之后,任務執行一次,點擊日志查看日志記錄:
完成!
品茗IT-博客專題:https://www.pomit.cn/lecture.html匯總了Spring專題、Springboot專題、SpringCloud專題、web基礎配置專題。
快速構建項目
Spring項目快速開發工具:
一鍵快速構建Spring項目工具
一鍵快速構建SpringBoot項目工具
一鍵快速構建SpringCloud項目工具
一站式Springboot項目生成
Mysql一鍵生成Mybatis注解Mapper
Spring組件化構建
SpringBoot組件化構建
SpringCloud服務化構建
喜歡這篇文章么,喜歡就加入我們一起討論Java Web吧!
總結
以上是生活随笔為你收集整理的python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给imac加块大屏幕imac 做屏幕
- 下一篇: 键盘失灵也可进入BIOS的方法键盘失灵怎