04、XXL-JOB 操作指南

4.1 配置执行器

点击进入”执行器管理”界面, 如下图:
 

1、"调度中心OnLine:"右侧显示在线的"调度中心"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险; 

2、"执行器列表" 中显示在线的执行器列表, 可通过"OnLine 机器"查看对应执行器的集群机器。 

点击按钮 “+新增执行器” 弹框如下图, 可新增执行器配置:

 

执行器属性说明

AppName: 是每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用; 

名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性; 

排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表; 

注册方式:调度中心获取执行器地址的方式; 

 自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址; 

 手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用; 

机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息; 

4.2 新建任务

进入任务管理界面,点击“新增任务”按钮,在弹出的“新增任务”界面配置任务属性后保存即可。详情页参考章节 “三、任务详解”。

4.3 编辑任务

进入任务管理界面,选中指定任务。点击该任务右侧“编辑”按钮,在弹出的“编辑任务”界面更新任务属性后保存即可,可以修改设置的任务属性信息:

4.4 编辑GLUE代码

该操作仅针对GLUE任务。

选中指定任务,点击该任务右侧“GLUE”按钮,将会前往GLUE任务的Web IDE界面,在该界面支持对任务代码进行开发。可参考章节 “3.3 GLUE模式(Java)”。

4.5 启动/停止任务

可对任务进行“启动”和“停止”操作。
需要注意的是,此处的启动/停止仅针对任务的后续调度触发行为,不会影响到已经触发的调度任务,如需终止已经触发的调度任务,可查看“4.9 终止运行中的任务”

 

4.6 手动触发一次调度

点击“执行”按钮,可手动触发一次任务调度,不影响原有调度规则。

 

4.7 查看调度日志

点击“日志”按钮,可以查看任务历史调度日志。在历史调入日志界面可查看每次任务调度的调度结果、执行结果等,点击“执行日志”按钮可查看执行器完整日志。

 

 

调度时间:"调度中心"触发本次调度并向"执行器"发送任务执行信号的时间; 

调度结果:"调度中心"触发本次调度的结果,200表示成功,500或其他表示失败; 

调度备注:"调度中心"触发本次调度的日志信息; 

执行器地址:本次任务执行的机器地址 

运行模式:触发调度时任务的运行模式,运行模式可参考章节 "三、任务详解"; 

任务参数:本地任务执行的入参 

执行时间:"执行器"中本次任务执行结束后回调的时间; 

执行结果:"执行器"中本次任务执行的结果,200表示成功,500或其他表示失败; 

执行备注:"执行器"中本次任务执行的日志信息; 

操作: 

 "执行日志"按钮:点击可查看本地任务执行的详细日志信息;详见“4.8 查看执行日志”; 

 "终止任务"按钮:点击可终止本地调度对应执行器上本任务的执行线程,包括未执行的阻塞任务一并被终止; 

4.8 查看执行日志

点击执行日志右侧的 “执行日志” 按钮,可跳转至执行日志界面,可以查看业务代码中打印的完整日志,如下图;

 

4.9 终止运行中的任务

仅针对执行中的任务。
在任务日志界面,点击右侧的“终止任务”按钮,将会向本次任务对应的执行器发送任务终止请求,将会终止掉本次任务,同时会清空掉整个任务执行队列。

 

任务终止时通过 “interrupt” 执行线程的方式实现, 将会触发 “InterruptedException” 异常。因此如果JobHandler内部catch到了该异常并消化掉的话, 任务终止功能将不可用。

因此,如果遇到上述任务终止不可用的情况, 需要在JobHandler中应该针对 “InterruptedException” 异常进行特殊处理 (向上抛出) , 正确逻辑如下:

try{ 

 // do something 

} catch (Exception e) { 

 if (e instanceof InterruptedException) { 

     throw e; 

 } 

 logger.warn("{}", e); 

} 

而且,在JobHandler中开启子线程时,子线程也不可catch处理”InterruptedException”,应该主动向上抛出。

任务终止时会执行对应JobHandler的”destroy()”方法,可以借助该方法处理一些资源回收的逻辑。

4.10 删除执行日志

在任务日志界面,选中执行器和任务之后,点击右侧的”删除”按钮将会出现”日志清理”弹框,弹框中支持选择不同类型的日志清理策略,选中后点击”确定”按钮即可进行日志清理操作;
 

 

4.11 删除任务

点击删除按钮,可以删除对应任务。

 

4.12 用户管理

进入“用户管理” 界面,可查看和管理用户信息;

目前用户分为两种角色:

  • 管理员:拥有全量权限,支持在线管理用户信息,为用户分配权限,权限分配粒度为执行器;
  • 普通用户:仅拥有被分配权限的执行器,及相关任务的操作权限;