操作步骤
创建拓扑任务。
登录任务调度控制台。
单击左侧导航栏的 任务编排。
单击 添加任务拓扑,然后配置以下参数:
参数
说明
拓扑名称
配置拓扑任务的名称。
调度类型
配置任务调度的类型,可选值:
cron 表达式触发:该类型的任务在创建时需要配置 CRON 表达式定时触发任务。
事件触发:该类型的任务通过外部事件触发任务。
Cron 表达式
配置 CRON 表达式,用于定时触发任务。配置方式请参见 CRON 表达式详解。
仅在 调度类型 为 cron 表达式触发 时配置。
任务互斥
选择是否开启任务互斥模式。开启任务互斥模式时,处在“执行中”或“暂停”状态的任务即使已经达到下一个任务触发时间点,仍无法再次触发。本次调度状态以“跳过”标记。
漏触发策略
设置任务漏触发时的处理策略,可选值:
忽略:不进行补偿处理。
立即触发:立即重新触发。
仅当 调度类型 为 cron 表达式触发 时配置此项。
自定义参数(可选)
自定义参数支持从控制台向任务传递参数,参数也可以在任务间传递,格式为:
key=value
。参数配置说明如下:参数名:设置自定义参数的名称。
支持英文大小写、数字、下划线(_), 不能超过 128 字符。
类型 和 参数值:可选类型和参数值配置方式如下。
STRING:支持通用的字符串。
LIST:支持字符串数组,例如:
["aaa","bbb"]
。BOOLEAN:支持 true 或 false。
PLACEHOLDER:支持参数替换,目前支持的变量如下:
${sharding}
:替换当前分片值,配合简单任务使用。${shardingCount}
:替换简单任务配置的分片数。${triggerTime}
:替换预期的触发时间。
描述(可选)
配置任务的描述信息,例如业务含义、影响范围等,最多 1024 个字符。
说明关于自定义参数,您也可以在业务端通过上下文 context(该对象必须实现 Serializable。)获取和覆盖自定义参数。代码如下:
public class SimpleTaskDemo implements ISimpleJobHandler { @Override public ClientCommonResult handle(JobExecuteContext context) { // 根据 key 获取 obj Object obj = context.getCustomParam("intObj"); // 获取自定义参数 Map<String, Object> paramsMap = context.getCustomParams(); context.putCustomParams("num", 2); List<String> listparam = newArrayList <>(); listparam.add("aaaaaa"); listparam.add("111111"); context.putCustomParams("intparam", 111); context.putCustomParams("stringparam", "dfadsfad1243"); context.putCustomParams("listparam", listparam); // 注意对象必须实现 Serializable context.putCustomParams("objectParam", newObject()); return ClientCommonResult.buildSuccessResult(); } .... }
编辑拓扑图。
单击 下一步,然后单击拓扑图中的加号(+)。
在 添加节点 面板添加网关、任务或拓扑子流程后,单击 确定。
在 网关节点 区域,选择要添加的网关类型。网关成对出现。
并行网关:并行网关间的所有分支被同时执行。更多信息,请参见 并行网关。
条件网关:需要设置边条件,例如 isSuccess。拓扑执行时,将对该网关下的执行分支进行条件判断,判断结果为 true 的分支会被执行。更多信息,请参见 条件网关。
分片网关:需要设置分片规则。拓扑执行时会根据规则对任务数据进行拆分,生成需要执行的分片数。更多信息,请参见 分片网关。
重要如果您开启了 LDC 共享,且开启了跨 zone 调度,此处仅可以创建跨 zone 网关。详情请参见 跨 zone 网关。
在 任务列表 页签下,单击要添加的任务名称,即可添加该任务进入拓扑图。
在 拓扑列表 页签下,单击要添加作为子拓扑的任务名称,即可添加该拓扑作为子流程。
单击目标节点,然后单击旁边的图标。
根据添加的节点配置事件,然后单击 确定。
事件详细介绍,请参见 拓扑执行事件。
对于条件网关,您还需要添加边条件。
对于分片网关,您还需要添加分片规则。
单击 提交。
在任务拓扑列表,将目标任务状态改为 启用。