流程管理

更新时间:

SchedulerX支持跨应用的任务编排,您可以将同一个应用的任务,或不同应用的任务按执行逻辑编排在一个工作流中。

创建工作流

  1. 登录分布式任务调度平台
  2. 在顶部菜单栏选择地域。

  3. 在左侧导航栏,单击流程管理

  4. 流程管理页面选择目标命名空间,然后单击创建工作流。

  5. 创建工作流面板,设置工作流的名称描述应用ID时间类型等配置项,然后单击确定

    说明

    目前工作流调度仅支持使用Cron表达式设置时间类型。

    image.png

    也可以在高级配置区域,设置时区日历任务并发数

创建任务

  1. 流程管理页面,选择已创建好的工作流,单击编辑,进入工作流详情页面。

  2. 单击创建任务,在创建任务面板完成相关参数配置。创建完成后,任务加入至工作流中,在任务管理页面也可以看到创建的任务。

    image.png

导入任务

  1. 流程管理页面,选择已创建好的工作流,单击编辑,进入工作流详情页面。

  2. 工作流详情页面,单击导入任务,然后在选择应用下拉列表,选择已经存在的应用任务,单击操作列的导入,默认选择当前工作流所在的应用。image.png

任务编排

添加依赖

您可以通过鼠标拖拽新增线条添加依赖关系。

示例一:619是620的上游,619执行完成后,会执行620。

image.png

示例二:101执行完成后,102和103会同时开始执行;104、105和106都执行成功,107才开始执行。

image.png

删除依赖

使用两种方式:

  • 鼠标选中一根工作流线条,使用DELETE键删除。

  • 鼠标选中一根工作流线条,单击鼠标右键,单击移除

编辑或删除Job

选中工作流节点,单击鼠标右键,选择编辑移除

发布工作流

工作流创建之后,在工作流详情页面,完成任务创建或者编辑,单击发布,工作流会变成启用状态并开始调度。如无需马上启用,可以在流程管理页面单击运行一次,测试没有问题之后再手动启用。

管理工作流

查看流程实例图

  1. 流程管理页面,单击操作列的更多>历史记录,查看工作流的执行历史。image.png

  2. 流程实例记录面板,单击实例ID/流程实例图列的ID,查看工作流中所有节点的运行状态。image.png

停止

  1. 流程管理页面,单击操作列的更多>历史记录

  2. 流程实例记录面板,单击停止,工作流中正在运行的所有节点将会强制停止,工作流状态变为失败。image.png

    如下图所示:image.png

重跑

运行失败的工作流支持重跑。

  1. 流程管理页面,单击操作列的更多>历史记录

  2. 流程实例记录面板,单击重跑,工作流中所有失败的节点将会重跑,工作流状态变为运行中。

    image.png

    如下图所示:

    image.png

暂停

运行中的工作流支持暂停。

  1. 流程管理页面,单击操作列的更多>历史记录

  2. 流程实例记录面板,单击暂停,会等待正在运行的节点运行完成,但是后续节点不会运行,且工作流状态变为暂停。image.png

    如下图所示:image.png

取消暂停

暂停状态的工作流支持取消暂停。

  1. 流程管理页面,单击操作列的更多>历史记录

  2. 流程实例记录面板,单击取消暂停,恢复下游节点的运行。image.png

    如下图所示:image.png

跳过

在工作流中,若某一节点尚未启动执行,但决定不再运行,可选择跳过该节点。工作流会自动跃进至下一个待处理的节点继续执行。

  1. 流程管理页面,单击操作列的更多>历史记录,查看工作流的执行历史。

  2. 流程实例记录面板,单击实例ID/流程实例图列的ID,在工作流实例详情页面,选中节点后,单击跳过image.png

    最后工作流运行结果如下:image.png

取消跳过

对于跳过的节点,在下游还没开始运行之前,可以取消跳过,恢复执行。

  1. 流程管理页面,单击操作列的更多>历史记录,查看工作流的执行历史。

  2. 流程实例记录面板,单击实例ID/流程实例图列的ID,在工作流实例详情页面,选中节点后,单击取消跳过image.png

导入导出工作流

同步不同地域或命名空间之间的工作流,需手动执行。

导出工作流

  1. 流程管理页面,在全部应用的下拉列表中选择应用,然后勾选要导出的工作流(不勾选时会导出该应用下所有工作流),单击导出工作流

  2. 在对话框中选择应用ID并确认导出工作流信息后,单击确定image.png

导入工作流

流程管理页面,单击导入工作流,上传需要导入的工作流后,单击确定image.png

重要

导入工作流之前,需先导入任务。被导入工作流的应用ID和导出工作流的应用ID需要完全一致。导入任务,请参见导入或导出任务