xxl-job任务详解

文章目录

      • 任务管理
        • 新增任务页面字段释义
          • 1.1、路由策略
          • 1.2、运行模式
            • BEAN模式
            • GLUE模式
          • 1.3、阻塞处理策略
          • 1.4、子任务ID
          • 1.5、JobHandler
          • 1.6、Cron
          • 1.7、任务超时时间
        • 任务操作

任务管理

新增任务页面字段释义

xxl-job任务详解_第1张图片

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、任务超时时间

如果任务执行的时间超过了设置的超时时间,那么任务会被打断,停止执行

任务操作

xxl-job任务详解_第2张图片

  • 执行一次是指点击此按钮会理解执行一次该任务,不管这个任务是不是启动了定时执行,可用于调试定时任务

  • 查询日志 可以查询该任务的执行日志,也可以在调度日志菜单下查看日志

  • 注册节点 可以查看这个任务是运行在哪些执行器上

  • GLUE IDE 是GLUE模式下的集成开发环境,可以直接在里面书写一些代码

  • 启动 新建的任务只有启动了之后才会定时周期性的执行

你可能感兴趣的:(xxl-job,xxl-job,定时任务)