xxl-job简约安装与使用

2019/9/2 posted in  SpringBoot

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

下载源码

通过命令

git clone https://github.com/xuxueli/xxl-job/

初始化调度数据库

"调度数据库初始化SQL脚本" 位置为:
/xxl-job/doc/db/tables_xxl_job.sql

编译源码

解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可,源码结构如下:

| xxl-job-admin:调度中心
| xxl-job-core:公共依赖
| xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
├ ├── :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
├ ├── :xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用;
├ ├── :xxl-job-executor-sample-frameless:无框架版本;
├ ├── :xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;
├ ├── :xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;

执行调度中心服务

在xxl-job-admin中,执行main文件,启动调度中心服务(在xxl-job-admin项目中,需要改resources文件夹中的application.properties文件的数据库密码和用户名为上步骤更改的密码和用户名)

部署项目

项目启动好后,访问调度中心:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
默认登录账号 "admin/123456", 登录后运行界面如下图所示。

至此“调度中心”项目已经部署成功。

配置部署“执行器项目”

这里只演示springboot 项目

“执行器”项目:xxl-job-executor-sample-springboot (提供多种版本执行器供选择,现以 springboot 版本为例,可直接使用,也可以参考其并将现有项目改造成执行器)
作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。

开发第一个任务“Hello World”

登录调度中心,点击下图所示“新建任务”按钮,新建示例任务。然后,参考下面截图中任务的参数配置,点击保存。

触发执行

请点击任务右侧 “执行” 按钮,可手动触发一次任务执行(通常情况下,通过配置Cron表达式进行任务调度出发)。

查看日志

请点击任务右侧 “日志” 按钮,可前往任务日志界面查看任务日志。 在任务日志界面中,可查看该任务的历史调度记录以及每一次调度的任务调度信息、执行参数和执行信息。运行中的任务点击右侧的“执行日志”按钮,可进入日志控制台查看实时执行日志。

在日志控制台,可以Rolling方式实时查看任务在执行器一侧运行输出的日志信息,实时监控任务进度;

GLUE模式(PHP)

参考上文“配置属性详细说明”对新建的任务进行参数配置,运行模式选中 "GLUE模式(PHP)";

开发任务代码
选中指定任务,点击该任务右侧“GLUE”按钮,将会前往GLUE任务的Web IDE界面,在该界面支持对任务代码进行开发(也可以在IDE中开发完成后,复制粘贴到编辑中)。

版本回溯功能(支持30个版本的版本回溯):在GLUE任务的Web IDE界面,选择右上角下拉框“版本回溯”,会列出该GLUE的更新历史,选择相应版本即可显示该版本代码,保存后GLUE代码即回退到对应的历史版本;

在这里可以写php脚本
其他语言同理