0.简要介绍
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
1.下载
官网地址
gitee
2.准备
安装mysql,并在数据库中导入xxl-job必须的表(doc文件夹下面的sql语句)。
xxl_job_lock:任务调度锁表;
xxl_job_group:执行器信息表,维护任务执行器信息;
xxl_job_info:调度扩展信息表:用于保存XXL-JOB调度任务的扩展信息,如任务分组、任务名、机器地址、执行器、执行入参和报警邮件等等;
xxl_job_log:调度日志表:用于保存XXL-JOB任务调度的历史信息,如调度结果、执行结果、调度入参、调度机器和执行器等等;
xxl_job_log_report:调度日志报表:用户存储XXL-JOB任务调度日志的报表,调度中心报表功能页面会用到;
xxl_job_logglue:任务GLUE日志:用于保存GLUE更新历史,用于支持GLUE的版本回溯功能;
xxl_job_registry:执行器注册表,维护在线的执行器和调度中心机器地址信息;
xxl_job_user:系统用户表;
3.服务端准备
git下来的代码有三部分,根据名字都能知道每部分的代码功能。。
admin,core负责服务端的代码,最后一个是官方给的测试任务demo,后续有demo也可以加到这里。
admin下面的application.properties里面有服务端口的配置以及连接的数据库配置,根据需要修改。
### web
server.port=8080
server.servlet.context-path=/xxl-job-admin### xxl-job, datasource
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=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
准备好就可以直接运行XxlJobAdminApplication。服务启动成功后,访问http://127.0.0.1:8080/xxl-job-admin/toLogin进入服务管理中心,默认密码admin/123456
4.执行器准备
执行器端需要与服务端做交互,就要修改xxl-job-executor-sample-springboot中的application.properties里面对应参数与3里面的对应。
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
之后就可以启动执行器。
5.测试任务执行
官方非常贴心的准备了demo,直接测试demo即可。demo代码位于xxl-job-executor-sample-springboot下的service.jobhandler中
/*** 1、简单任务示例(Bean模式)*/@XxlJob("demoJobHandler")public void demoJobHandler() throws Exception {XxlJobHelper.log("XXL-JOB, Hello World.");System.out.println("XXL-JOB, Hello World.");//休眠for (int i = 0; i < 5; i++) {XxlJobHelper.log("beat at:" + i);TimeUnit.SECONDS.sleep(2);}// default success}
此时执行器,服务端都在运行,我们点击一下服务端的执行一次按钮
可以看到控制台打印出了demo中的print语句
6.打包部署(linux)
mvn package
之后将得到的两个包(admin和core下各一个)上传到linux服务器,执行命令:
nohup java -jar jar包 &