任务管理

更新时间:

本文介绍如何在任务管理页面创建并管理XXL-JOB。

创建调度任务

  1. 登录微服务引擎MSE,选择任务调度 > XXL-JOB,进入指定XXL-JOB实例。

    image

  2. 在左侧菜单栏的任务管理,单击创建任务。在基本配置向导页,配置调度任务的相关信息,然后单击下一步

    image

    配置项分类

    配置项

    描述

    默认值

    基本配置

    任务名称

    任务的名称,同一个应用下需保持唯一。

    任务描述

    任务的描述。

    关联应用

    该应用属于哪个应用。

    任务类型

    支持BEAN、Dify工作流、GLUE(Java)、GLUE(Shell)、GLUE(Python)、GLUE(PHP)、GLUE(NodeJs)、GLUE(PowerShell)任务类型。

    BEAN

    JobHandler名称

    对应执行器端被@Xxljob注解声明的jobHandler

    路由策略

    轮询、随机、第一个、最后一个、最不经常使用、最近最久未使用、一致性哈希、分片广播。

    轮询

    堵塞处理策略

    客户端级别的限流策略:单机串行、丢弃后续调度、覆盖之前调度。

    单机串行

    优先级

    低、中、高、非常高。

    输入

    任务的参数,最大2000字节。

    高级配置

    任务失败重试次数

    任务失败自动重试的最大次数。

    0

    任务失败重试间隔

    任务每次失败重试的间隔。

    30

    任务并发数

    同一个任务同一时间允许运行的最大实例个数,1表示不允许重复执行。如果超过并发数,会跳过当前调度。

    1

    子任务ID

    输入子任务ID。

    说明

    任务执行成功后,触发子任务执行。可以输入多个子任务ID,并以逗号分隔。

  3. 定时配置向导页,设置定时参数和高级配置参数,然后单击下一步

    image

    配置项

    描述

    默认值

    时间类型

    none、cron、api、fixed_rate、fixed_delay、one_time。

    cron

    时间表达式

    不同的时间类型有不同的表达式:

    • none:无表达式。

    • cronQuartz Cron表达式,可以精确到秒。

    • fixed_rate:固定执行频率,单位秒,即每隔N秒调度一次。

    • fixed_delay:固定延时,单位秒,即上次执行完成后隔N秒再调度下一次。

    • api:通过openapi调度。

    • one_time:一次性任务,跑完任务自动销毁,格式"yyyy-MM-dd HH:mm:ss",比如"2024-10-10 12:12:20"。

    时区

    可以按照固定时区调度,主要适用于cron表达式。

    当前地域时区

    日历

    可以导入自定义日历,按照日历调度,比如只想在工作日执行。

    每天调度

    生效时间

    指定任务开始生效时间。

    立即生效

  4. 通知配置配置向导页,设置报警参数及联系人,然后单击完成

    image

    配置项

    描述

    默认值

    超时报警

    任务执行超时是否发送告警。

    开启

    超时时间

    任务执行超时的时间,按照业务自行设定。

    7200

    超时终止

    任务执行超过指定时间是否自动停止,防止把下一次调度卡住。

    关闭

    成功通知

    任务执行成功是否通知给联系人,一般天级别比较重要的任务设置。

    关闭

    失败报警

    任务执行失败是否告警。

    开启

    连续失败次数

    任务连续失败指定次数才告警。

    1

    无可用机器报警

    任务调度的时候没有可用执行器是否告警。

    开启

    通知方式

    短信、webhook、邮件、电话。

    通知对象

    集成云监控联系人,需要去云监控配置联系人并激活联系方式。

    如果选用webhook告警(钉钉/企业微信/飞书),需要通过公网外发,所以需要您的VPC网络绑定公网NAT网关,如下图:

    image

编辑调度任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作列的编辑。在编辑任务面板中修改基本配置定时配置通知配置,然后单击完成

删除调度任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的删除。在删除对话框中单击删除

导入任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击导入任务,在导入任务对话框中,选择相同任务覆盖或者跳过,是否自动创建App选择文件上传后,单击确定

导出任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击导出任务,在导出任务对话框中,选择导出任务的应用名称,单击确定

批量启用任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 勾选需要批量启用的任务,单击批量启用任务。在批量启用任务对话框中,单击确定

批量禁用任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 勾选需要批量禁用的任务,单击批量禁用任务。在批量禁用任务对话框中,单击确定

批量删除任务

重要

任务删除后将不可恢复!

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 勾选需要批量删除的任务,单击批量删除任务。在批量删除任务对话框中,单击确定

运行一次调度任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作列下的运行一次。在手动执行任务对话框中,指定执行机器和任务参数,单击确定

复制调度任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的复制。在复制任务面板中,填写基本配置定时配置通知配置,然后单击完成

禁用调度任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的禁用。在禁用对话框中,单击禁用

查看调度记录

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的调度记录。查看任务调度执行记录。

重刷任务

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的重刷任务。在重刷任务面板中,选择起止日期数据时间,然后单击确定

指定机器

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击进入目标实例,在左侧导航栏的任务管理

  4. 单击目标任务操作 > 更多下的指定机器,在指定机器面板中,选择指定类型下拉框为地址或者标签后,指定机器,单击确定。

    说明

    机器转移:开启机器转移开关,当指定机器全部下线时任务可以调度到非指定机器。

Cron表达式

Cron的表达式为:秒分时 日月周[年]

为了帮助您理解,下面介绍一些常用的Cron表达式示例。

Contab表达式

说明

0 */1 * * * ?

每隔1分钟触发一次

0 0 5-15 * * ?

每天5:00~15:00整点触发

0 0/3 * * * ?

每隔3分钟触发一次

0 0-5 14 * * ?

每天14:00~14:05期间每隔1分钟触发一次

0 0/5 14 * * ?

每天14:00~14:55期间每隔5分钟触发一次

0 0/5 14,18 * * ?

每天14:00~14:5518:00~18:55两个时间段内每5分钟触发一次

0 0/30 9-17 * * ?

每天9:00~17:00内每半小时触发一次

0 0 10,14,16 * * ?

每天10:00、14:0016:00触发

0 0 12 ? * WED

每周三12:00触发

0 0 17 ? * TUES,THUR,SAT

每周二、周四、周六17:00触发

0 10,44 14 ? 3 WED

每年3月的每周三的14:1014:44触发

0 15 10 ? * MON-FRI

周一至周五的上午10:15触发

0 0 23 L * ?

每月最后一天23:00触发

0 15 10 L * ?

每月最后一天10:15触发

0 15 10 ? * 6L

每月最后一个周五10:15触发

0 15 10 * * ? 2005

2005年的每天10:15触发

0 15 10 ? * 6L 2002-2005

2002年~2005年的每月的最后一个周五上午10:15触发

0 15 10 ? * 6#3

每月的第三个周五10:15触发