本文介绍如何在任务管理页面创建并管理XXL-JOB。
创建调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理,单击创建任务。在基本配置向导页,配置调度任务的相关信息,然后单击下一步。
配置项分类
配置项
描述
默认值
基本配置
任务名称
任务的名称,同一个应用下需保持唯一。
无
任务描述
任务的描述。
无
关联应用
该应用属于哪个应用。
无
任务类型
支持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,并以逗号分隔。
无
在定时配置向导页,设置定时参数和高级配置参数,然后单击下一步。
配置项
描述
默认值
时间类型
none、cron、api、fixed_rate、fixed_delay、one_time。
cron
时间表达式
不同的时间类型有不同的表达式:
none:无表达式。
cron:Cron表达式,可以精确到秒。
fixed_rate:固定执行频率,单位秒,即每隔N秒调度一次。
fixed_delay:固定延时,单位秒,即上次执行完成后隔N秒再调度下一次。
api:通过openapi调度。
one_time:一次性任务,跑完任务自动销毁,格式"yyyy-MM-dd HH:mm:ss",比如"2024-10-10 12:12:20"。
无
数据时间偏移
数据时间相对于调度时间的偏移,可以在调度时从上下文获取该值。
无
时区
可以按照固定时区调度,主要适用于cron表达式。
当前地域时区
日历
可以导入自定义日历,按照日历调度,比如只想在工作日执行。
每天调度
生效时间
指定任务开始生效时间。
立即生效
在通知配置配置向导页,设置报警参数及联系人,然后单击完成。
配置项
描述
默认值
超时报警
任务执行超时是否发送告警。
开启
超时时间
任务执行超时的时间,按照业务自行设定。
7200秒
超时终止
任务执行超过指定时间是否自动停止,防止把下一次调度卡住。
关闭
成功通知
任务执行成功是否通知给联系人,一般天级别比较重要的任务设置。
关闭
失败报警
任务执行失败是否告警。
开启
连续失败次数
任务连续失败指定次数才告警。
1
无可用机器报警
任务调度的时候没有可用执行器是否告警。
开启
通知方式
短信、webhook、邮件、电话。
无
通知对象
集成云监控联系人,需要去云监控配置联系人并激活联系方式。
无
如果选用webhook告警(钉钉/企业微信/飞书),需要通过公网外发,所以需要您的VPC网络绑定公网NAT网关,如下图:
编辑调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务操作列的编辑。在编辑任务面板中修改基本配置、定时配置和通知配置,然后单击完成。
删除调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的删除。在删除对话框中单击删除。
导入任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击导入任务,在导入任务对话框中,选择相同任务覆盖或者跳过,是否自动创建App,选择文件上传后,单击确定。
导出任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击导出任务,在导出任务对话框中,选择导出任务的应用名称,单击确定。
批量启用任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
勾选需要批量启用的任务,单击批量启用任务。在批量启用任务对话框中,单击确定。
批量禁用任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
勾选需要批量禁用的任务,单击批量禁用任务。在批量禁用任务对话框中,单击确定。
批量删除任务
任务删除后将不可恢复!
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
勾选需要批量删除的任务,单击批量删除任务。在批量删除任务对话框中,单击确定。
运行一次调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务操作列下的运行一次。在手动执行任务对话框中,指定执行机器和任务参数,单击确定。
复制调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的复制。在复制任务面板中,填写基本配置、定时配置和通知配置,然后单击完成。
禁用调度任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的禁用。在禁用对话框中,单击禁用。
查看调度记录
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的调度记录。查看任务调度执行记录。
重刷任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的重刷任务。在重刷任务面板中,选择起止日期和数据时间,然后单击确定。
指定机器
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的任务管理。
单击目标任务
下的指定机器,在指定机器面板中,选择指定类型下拉框为地址或者标签后,指定机器,单击确定。说明机器转移:开启机器转移开关,当指定机器全部下线时任务可以调度到非指定机器。
GLUE任务如何配置脚本内容
创建GLUE任务
在创建调度任务时,任务类型选择GLUE(xxx),并在脚本内容输入框配置即可。
更新GLUE脚本内容
实例引擎版本 < 2.2.2
您可在编辑任务页进行脚本编辑。
实例引擎版本 >= 2.2.2
支持脚本版本管理,编辑任务页的脚本编辑框已禁用,请在目标任务的运行模式列单击编辑脚本,并在打开的编辑脚本页面进行编辑。
脚本内容版本对比(限 2.2.2+ 版本使用)
在目标任务的运行模式列单击编辑脚本,然后打开编辑脚本页面右上角版本对比开关,并选择需要对比的版本进行对比。
HTTP任务操作流程
前提条件
如当前引擎版本低于2.2.3,需升级至2.2.3及以上版本。
升级过程实例将发生重启。
创建HTTP任务
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择
。单击进入目标实例,在左侧导航栏的应用管理,然后单击创建应用,应用类型选择Http应用,然后单击确定。
在左侧导航栏选择任务管理,然后单击创建任务,关联应用选择步骤3创建的应用,任务类型选择HTTP。
配置HTTP任务的请求域名、Path、请求方式、超时时间。
配置HTTP任务的请求参数,根据需求填写Header、Query、Body。
配置HTTP任务响应定义,包括成功响应解析模式与成功结果解析模式,解析模式提供响应码、响应体与响应Body三种解析类型。
配置HTTP任务的失败重试,包括失败重试次数、重试间隔时间。当失败重试次数大于0,即任务失败后需要进行重试时,还可配置重试域名和接口Path,使任务失败后请求该域名和Path。
执行HTTP任务
HTTP任务创建完成后,可运行一次任务,并查看任务的执行记录详情和日志。
任务成功示例
调度详情-基本信息
调度详情-输入输出
日志记录
任务失败示例
调度详情-基本信息
调度详情-输入输出
日志记录
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:55和18:00~18:55两个时间段内每5分钟触发一次。 |
0 0/30 9-17 * * ? | 每天9:00~17:00内每半小时触发一次。 |
0 0 10,14,16 * * ? | 每天10:00、14:00和16:00触发。 |
0 0 12 ? * WED | 每周三12:00触发。 |
0 0 17 ? * TUES,THUR,SAT | 每周二、周四、周六17:00触发。 |
0 10,44 14 ? 3 WED | 每年3月的每周三的14:10和14: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触发。 |