什么是XXL-JOB任务调度?
XXL-JOB是一个开源的分布式任务调度平台,用于管理和调度各种定时任务和分布式任务。它提供了一个轻量级、易扩展的任务调度解决方案,可以满足各种任务调度需求。
核心概念:
-
任务(Job):任务是指需要被调度执行的具体操作或业务逻辑。在XXL-JOB中,任务可以是简单的定时任务,也可以是复杂的分布式任务,可以通过调度中心配置和管理。
-
调度中心(Admin):调度中心是XXL-JOB的核心组件,负责任务的管理和调度。管理员可以在调度中心中配置、编辑、删除任务,并查看任务的执行情况和日志信息。
-
执行器(Executor):执行器是负责执行任务的执行节点,可以是独立部署的单机,也可以是分布式的集群。执行器接收调度中心下发的任务,并执行任务对应的逻辑。
-
任务执行(Job Execute):任务执行是指执行器执行任务的过程。在任务触发时,执行器会根据任务配置的执行策略执行具体的业务逻辑,并将执行结果返回给调度中心。
-
任务调度策略(Job Strategy):任务调度策略定义了任务的触发规则和执行方式。XXL-JOB支持多种调度策略,包括简单触发、固定间隔、CRON表达式等,可以根据任务的需求灵活配置。
-
任务日志(Job Log):任务日志记录了任务的执行情况,包括执行状态、执行时间、执行结果等信息。管理员可以通过任务日志查看任务的执行情况,及时发现和解决问题。
如何搭建XXL-JOB?
1. 克隆XXL-JOB
git clone https://github.com/xuxueli/xxl-job.git
2. 在数据库中创建对应的表
在项目中找到对应的Sql在自己的数据库中创建
3.构建并运行调度中心
mvn clean package -Dmaven.test.skip=true
java -jar xxl-job-admin/target/xxl-job-admin-2.1.0.jar
4.在项目文件pom.xml中配置
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.0</version>
</dependency>
5.在项目文件properties中配置
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=
xxl.job.executor.port=9999
xxl.job.accessToken=
xxl.job.executor.logpath=./logs/jobhandler
xxl.job.executor.logretentiondays=-1
6.在项目中创建JobHandler
@JobHandler(value = "testHandler")
@Component
public class testHandler extends IJobHandler {
public void execute() {
XxlJobLogger.log("Hello World!");
}
}