本文介绍如何在任务管理页面对调度任务进行一系列操作步骤的详解。
创建调度任务
创建任务前,请确保您已经创建了任务分组。更多信息,请参见应用管理。
-
登录EDAS控制台。
-
在左侧导航栏,单击任务管理,并选择需要创建任务的地域和所属命名空间。
-
单击创建任务,在基本配置向导页,配置调度任务的相关信息,然后单击下一步。
基本配置参数说明如下:
配置名称
说明
任务名
自定义任务名称。
描述
任务描述,尽量简洁地描述业务,便于后续搜索。
应用ID
任务所属分组。可以在下拉列表中选择。
任务类型
指任务所实现的语言,当前支持Java、XXL-JOB、SpringSchedule、Golang、脚本任务、Http和DataWorks类型。
选择脚本任务时,需选择脚本语言:shell、python或go,您可以在编辑框中编写任务脚本。
Class全路径
说明仅任务类型选择Java时出现。
JobProcessor的全路径,例如
xxx.xxx.xxx.HelloProcessor。执行模式
执行模式,这里特指任务执行的模式,当前支持以下模式。
-
单机运行:随机选一台机器执行。
-
广播运行:所有机器同时执行并等待全部结束。
-
可视化MapReduce:Map模型,子任务300以下,有子任务列表。
专业版可支持至1,000以下,且支持业务关键字查询。
-
MapReduce:属于常规MapReduce模型任务,能支持超大数量的子任务并行处理,仅可查询子任务运行汇总信息,建议子任务100W以下时选择。
-
分片运行:类似elastic-job模型,配置分片参数,可以将分片平均分给多个客户端执行。支持多语言版本。
说明当选择不同执行模式后,高级设置中的参数会随之变化。
任务参数
任意字符串,可以在运行时通过上下文获取。
高级配置参数说明如下:
参数
适用的执行模式
解释
默认值
任务失败重试次数
通用
任务运行失败自动重试的次数。
说明正在执行任务的机器重启,任务会变成失败状态,如果想立即重跑,可以配置该参数。
0
任务失败重试间隔
通用
每次失败重试的间隔。单位:秒。
30
任务并发数
通用
同一个Job同一时间运行的实例个数。1表示不允许重复执行。
1
清理策略
通用
任务执行历史记录的清理策略。
保留最近N条
保留记录数
通用
任务历史执行记录的保留记录数。
300条
子任务单机并发数
-
可视化MapReduce
-
MapReduce
-
分片运行
分布式模型,单台机器并发消费子任务的个数。如需加快执行速度,可以调大该值。如果下游或者数据库无法承接,可适当调小。
5
子任务失败重试次数
-
可视化MapReduce
-
MapReduce
-
分片运行
分布式模型,子任务失败自动重试的次数。
0
子任务失败重试间隔
-
可视化MapReduce
-
MapReduce
-
分片运行
分布式模型,子任务失败自动重试的间隔。单位:秒。
0
子任务failover策略
-
可视化MapReduce
-
MapReduce
-
分片运行
当执行节点宕机下线后,是否将子任务重新分发给其他机器执行。开启该配置后,发生failover时,子任务可能会重复执行,需自行做好幂等。
说明客户端版本为1.8.13及以上。
主节点参与执行
-
可视化MapReduce
-
MapReduce
-
分片运行
主节点是否参与子任务执行。在线可运行Worker数量必须不低于2台,在子任务数量特别大时,推荐关闭该参数。
说明客户端版本为1.8.13及以上。
子任务分发方式
-
可视化MapReduce
-
MapReduce
-
分片运行
-
推模型:每台机器平均分配子任务。
-
拉模型: 每台机器主动拉取子任务,没有木桶效应。拉取过程中,所有子任务会缓存在Master节点,对内存有压力,建议子任务数不超过10,000。
推模型
分发策略
-
可视化MapReduce
-
MapReduce
子任务分发策略,默认采用各个节点轮询分发。
-
轮询策略:每个worker平均分配等量子任务,适用于每个子任务处理耗时基本一致的场景。
-
负载最优策略:由主节点自动感知worker节点各自负载情况,适用子任务和worker机器处理耗时有较大差异的场景。
说明客户端版本为1.10.14及以上。
分发速率
-
可视化MapReduce
-
MapReduce
子任务分发速率,支持每秒或每分钟分发多少个子任务。
子任务单次拉取数(仅适用于拉模型)
-
可视化MapReduce
-
MapReduce
-
分片运行
Slave节点每次向Master节点拉取多少个子任务。
5
子任务队列容量(仅适用于拉模型)
-
可视化MapReduce
-
MapReduce
-
分片运行
Slave节点缓存子任务的队列大小。
10
子任务全局并发数(仅适用于拉模型)
-
可视化MapReduce
-
MapReduce
-
分片运行
分布式拉模型支持全局子任务并发数,可以进行限流。
1,000
-
-
在定时配置配置向导页,设置定时参数和高级配置参数,然后单击下一步。
定时参数说明如下:
配置项
说明
时间类型
-
none:无调度方式,一般通过工作流触发。
-
cron:Cron表达式。
-
api:通过API触发。
-
fixed_rate:固定频率。
-
second_delay:秒级固定延迟。
-
onetime:一次性任务。
-
unix cron:unix系统下的cron表达式。
cron表达式(仅适用于cron时间类型)
填写Cron表达式。可以直接按照Cron语法填写,也可以使用工具生成并验证。
固定频率(仅适用于fixed_rate时间类型)
填写固定频率,单位为秒,只支持60秒以上。例如200表示每200s调度一次。
固定延迟(仅适用于second_delay时间类型)
填写固定延迟,单位为秒。范围为1秒~60秒。例如5表示延迟5秒触发调度。
调度时间(仅适用于onetime时间类型)
填写任务指定的执行时间。例如:
2023-7-13 00:00:00。unix cron表达式(仅适用于unix cron时间类型)
填写unix系统格式的cron表达式。
高级配置参数说明如下:
配置项
说明
时间偏移
数据时间相对于调度时间的偏移,可以在调度时从上下文获取该值。
时区
可以根据实际情况选择不同时区,包括一些常用国家或地区,也包括标准的GMT表达方式。
-
-
在通知配置配置向导页,设置报警参数及联系人,然后单击完成。
报警参数包括 超时报警(开关及超时时间,单位为秒)、超时终止(开关)、成功通知(开关)、失败报警(开关及连续失败次数)、无可用机器报警(开关);通知渠道及联系人可选择 应用分组联系人 或 自定义。
通知渠道及联系人目前支持应用分组联系人、自定义。
-
应用分组联系人
应用分组联系人下所有联系人都可接收到通知。
-
自定义
自定义中通知方式支持联系人组、联系人两种方式。
-
联系人组
联系人组下所有联系人都可以接收到通知。关于创建联系人组,请参见通知联系人。
-
联系人
1.添加通知联系人,添加的联系人可以接收到通知。支持设置多个通知联系人。添加联系人后,单击前往创建联系人。
2.在弹出页面中单击新建联系人,然后输入联系人信息。
联系人信息包括姓名(必填)、手机号、邮件、webhook和所属联系人组。
-
-
-
返回任务管理页面,查看刚才创建的任务是否已存在,且参数是否和配置一致。
说明调度任务创建完成后,默认为启用状态。您也可以根据实际情况禁用、再启用该任务。具体操作,请参见启用和禁用调度任务。
编辑调度任务
-
在任务管理页面,单击目标任务的操作列下的编辑。
-
在编辑面板,设置基本配置、定时配置和报警配置参数。
说明任务分组和任务类型在编辑时不可修改。其他参数配置规则和创建调度任务时一致。
执行调度任务
在任务管理页面任务列表的操作列下单击运行一次,可以执行一次该调度任务。
在弹出的确认对话框中,通过 指定机器 下拉框选择执行实例,在 实例参数 文本域中输入参数(实例参数不会覆盖任务参数),单击 确定 执行任务。
启用和禁用调度任务
单个调度任务启用和禁用
-
在任务管理页面,单击目标任务操作列下的更多,然后选择禁用或者启用。
-
在确认对话框中单击确认。
批量启用和禁用调度任务
如果是专业版应用,您可以批量启用和禁用调度任务。在任务管理页面,勾选目标任务,然后单击任务列表下方的批量禁用或批量启用。
复制调度任务
在任务管理页面,单击目标任务操作列下的更多>复制。可以复制该调度任务的配置,您可以编辑复制的任务,生成新的调度任务。
重刷调度任务
如果您的业务发生变更,如数据库增加一个字段或者上一个月数据有错误,需要把过去一段时间的任务重新执行一遍,可以重刷调度任务数据。
任务和工作流都支持重刷数据(只支持天级别的调度周期)。
如果您之前执行的某个调度任务的数据出现偏差或遗漏,您可以通过重新设置执行参数并执行某个调度任务属性、获取数据。
-
在任务管理页面,单击目标任务操作列下的更多,然后单击重刷任务。
-
在重刷任务面板,设置起止日期和数据时间,单击确定。
-
起止日期:指定重刷的日期区间。
-
数据时间:指定重刷日期区间内的重刷时间。
示例重刷配置如下:
-
当前时间为2019-01-01 10:00:00。
-
重刷任务的起止日期为2018-10-01~2018-10-07,默认从2018年10月1日00:00:00起,到2018年10月7日23:59:59结束。
-
数据时间为11:11:11。
则该任务会被重刷7次,生成7个实例。
序号
调度时间
数据时间
1
2019.1.1 10:00:00
2018.10.1 11:11:11
2
2019.1.1 10:00:00
2018.10.2 11:11:11
3
2019.1.1 10:00:00
2018.10.3 11:11:11
4
2019.1.1 10:00:00
2018.10.4 11:11:11
5
2019.1.1 10:00:00
2018.10.5 11:11:11
6
2019.1.1 10:00:00
2018.10.6 11:11:11
7
2019.1.1 10:00:00
2018.10.7 11:11:11
-
查看调度任务的执行记录和操作记录
-
查看执行记录:在任务管理页面,单击目标任务操作列下的更多>历史记录,查看该调度任务的执行记录。在 任务实例记录 页面,可按状态、应用ID、日期等条件筛选记录,并勾选 包含工作流。记录表格包含任务ID/名称、任务类型/执行方式、实例ID/流程实例ID、应用ID、开始时间、结束时间、操作人等列,操作列提供 详情、日志、更多 链接。页面顶部提示标准版仅支持查看30条记录,专业版支持300条。
-
查看操作记录:在任务管理页面,单击目标任务操作列下的更多>操作记录,查看该调度任务的管理操作记录。操作记录页面支持按 类型 和 任务ID 进行筛选,结果表格包含 任务ID、操作时间、操作类型、操作人、扩展 和 操作 列,可单击 查看 了解操作详情。
删除调度任务
-
如果您需要停止SchedulerX产品的计费,请务必先删除或禁用目标应用下的调度任务,以避免在调度期间产生相关费用。
-
若您的调度任务包含任务编排,请按照以下步骤操作:首先删除相关的工作流,然后再进行调度任务的删除或禁用。
SchedulerX产品计费项及计费方式,具体详情,请参见任务调度SchedulerX版实例计费说明。
-
在任务管理页面,单击目标任务操作列下的更多>删除。
-
在弹出的确认对话框中单击确认。
导入或导出任务
-
在任务管理页面,选择应用(专业版的应用)。
应用筛选入口为页面顶部的全部应用下拉框。
-
单击导入任务或者导出任务即可。