XXL-JOB教程

一:概念

XXL-JOB是一个轻量级分布式任务调度平台

详细说明:XXL-JOB是一个任务调度框架,通过引入XXL-JOB相关的依赖,按照相关格式撰写代码后,可在其可视化界面进行任务的启动,执行,中止以及包含了日志记录与查询和任务状态监控

如果将XXL-JOB形容为一个人的话,每一个引入xxl-job的微服务就相当于一个独立的人(执行器),而按照相关约定格式撰写的Handler为餐桌上的食物,可视化界面则可以决定哪个执行器(人),吃东西或者不吃某个东西(定时任务),在什么时间吃(Corn表达式控制或者执行或终止或者;立即开始);

每一个xxl-job微服务 = 独立的人(执行器)

每一个Handler = 餐桌上的食物

"可视化界面可以决定哪个人(执行器)吃或者不吃某个食物(定时任务)"

XXL-Job架构图:

二、快速入门

首先从GitHub上面将项目clone下来,如果网络问题导致速度慢也可以从Gitee上面拉取

GitHub地址:https://github.com/xuxueli/xxl-job

Gitee地址:https://gitee.com/xuxueli0323/xxl-job

2.1准备工作

2.1.1新建idea项目

项目结构:

doc:文档资料,包括"调度数据库"建表脚本

xxl-job-core:公共 Jar 依赖

xxl-job-admin:调度中心,项目源码,spring boot 项目,可以直接启动

xxl-job-executor-samples:执行器,sample 示例项目,其中的 spring boot 工程,可以直接启动。可以在该项目上进行开发,也可以将现有项目改造生成执行器项目。

2.2.2配置好数据源,执行sql

2.2启动xxl-job-admin

调度中心配置文件地址:

/xxl-job/xxl-job-admin/src/main/resources/application.properties

配置文件的配置及说明:

### 调度中心JDBC链接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
### 报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
### 调度中心通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
xxl.job.i18n=zh_CN
## 调度线程池最大线程配置【必填】
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100
### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;
xxl.job.logretentiondays=30

调度中心访问地址:http://localhost:8080/xxl-job-admin ,默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

2.3新建执行器及任务

执行器相当于是小组组长,负责任务的具体执行,由它分配线程(组员)执行任务。执行器需要注册到调度中心,这样调度中心才知道怎样选择执行器,或者说做路由。执行器的执行结果,也需要通过回调的方式告诉调度中心。

可直接启动xxl-job-executor-sample-springboot示例,如下配置均可参考示例配置

2.3.1引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
   
要在 Linux 上部署 xxl-job,需要进行以下步骤: 1. 安装 Java:在 Linux 上安装 Java 运行环境。 2. 下载 xxl-job:从 xxl-job 的官网下载 xxl-job 的安装包。 3. 解压安装包:使用以下命令解压安装包。 ```bash tar -zxvf xxl-job-2.3.0.tar.gz ``` 4. 修改配置文件:进入解压后的 xxl-job 目录,修改 `conf/application.properties` 配置文件,配置数据库连接等参数。 ```properties # xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin # xxl-job executor ip: default get local address xxl.job.executor.ip= # xxl-job executor port: default 9999 xxl.job.executor.port=9999 # xxl-job executor appname xxl.job.executor.appname=xxl-job-executor-sample # xxl-job executor log path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler # xxl-job executor log retention days xxl.job.executor.logretentiondays=30 # xxl-job executor registry address: zookeeper address xxl.job.registry.address=zookeeper://localhost:2181 ``` 5. 启动 xxl-job-admin:使用以下命令启动 xxl-job-admin。 ```bash sh bin/startup.sh ``` 6. 访问 xxl-job-admin:在浏览器中访问 `http://localhost:8080/xxl-job-admin`,输入用户名和密码,登录 xxl-job-admin。 7. 创建任务:在 xxl-job-admin 中创建任务,并配置任务的执行方式、参数等。 8. 启动 xxl-job-executor:在需要执行任务的服务器上,使用以下命令启动 xxl-job-executor。 ```bash java -jar xxl-job-executor-sample-springboot-2.3.0.jar ``` 以上就是在 Linux 上部署 xxl-job 的步骤。通过 xxl-job,我们可以方便地实现分布式定时任务调度,提高系统的可扩展性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值