文章目录
任务管理
新增任务页面字段释义
1.1、路由策略
路由策略指一个任务选择使用哪个执行器去执行。这个参数只有当执行器做集群部署的时候才有意义。
策略 | 参数值 | 详细含义 |
---|---|---|
第一个 | FIRST | 固定选择第一个机器 |
最后一个 | LAST | 固定选择最后一个机器 |
轮询 | ROUND | 依次选择执行 |
随机 | RANDOM | 随机选择在线的机器 |
一致性HASH | CONSISTENT_HASH | 每个人物按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上 |
最不经常使用 | LEAST_FREQUENTLY_USED | 使用频率最低的机器优先被选择 |
最近最久未使用 | LEAST_RECENTLY_USED | 最久未使用的机器优先被选择 |
故障转义 | FAILOVER | 按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度 |
忙碌转义 | BUSYOVER | 按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定位目标执行器并发起调度 |
分片广播 | SHARDING_BROADCAST | 广播触发对应集群中所有机器执行一次任务,同事系统自动传递分片参数,可根据分片参数开发分片任务 |
1.2、运行模式
xxl-job中,不仅支持运行预先编写好的任务类,还可以直接输入代码或脚本运行
BEAN模式
需要指定任务类,通常是Spring中的Bean,这个任务叫做JobHandler,是在执行器端编写的
GLUE模式
运行代码或脚本,支持Java、Shell、Python、PHP等,代码是直接维护在调度器的
1.3、阻塞处理策略
指任务的一次运行还没有结束的时候,下一次调度的时间又到了,要怎么处理
策略 | 参数值 | 含义 |
---|---|---|
单机串行,默认 | SERIAL_EXECUTION | 调度请求进入单机执行器后,调度请求进入FIFO队列并以串行方式运行 |
丢弃后续调度 | DISCARD_LATER | 调度请求进入单机执行器后,发现执行器存在运行的调度任务,本次请求将会被丢弃并标记为失败 |
覆盖之前调度 | COVER_EARLY | 调度请求进入单机执行器后,发现执行器存在运行的调度任务,将会终止运行中的调度任务并清空队列,然后运行本次调度任务 |
1.4、子任务ID
当有任务需要相互依赖时使用,比如在对账业务里,下载对账文件任务成功之后,才开始对账。那么,可以把这几个任务当成一个大任务来串行处理,即在一个任务的末尾触发另一个任务。
如果我们需要在本任务执行结束并且执行成功的时候触发另外一个任务,那么就可以把另外的任务作为本任务的子任务运行,就只需要在本任务里填入另外一个任务的jobId即可(可以在任务列表查看JobId)
1.5、JobHandler
如果是Bean模式的任务,这里需要填入在程序中指定的JobHandler的value值
如果是GLUE模式,该项不需要填
1.6、Cron
任务定时处理的规则
1.7、任务超时时间
如果任务执行的时间超过了设置的超时时间,那么任务会被打断,停止执行
任务操作
-
执行一次是指点击此按钮会理解执行一次该任务,不管这个任务是不是启动了定时执行,可用于调试定时任务
-
查询日志 可以查询该任务的执行日志,也可以在调度日志菜单下查看日志
-
注册节点 可以查看这个任务是运行在哪些执行器上
-
GLUE IDE 是GLUE模式下的集成开发环境,可以直接在里面书写一些代码
-
启动 新建的任务只有启动了之后才会定时周期性的执行