阿里云首页 金融分布式架构 SOFAStack

条件网关

在拓扑任务中,您可以添加条件网关来设置执行逻辑。例如,当指定条件满足时执行任务 A,条件不满足则执行任务 B。这些条件还支持通过代码动态修改、调整,实现更加灵活的任务编排模式。本文将快速引导您如何在拓扑任务中使用条件网关。

操作步骤

  1. 创建拓扑子任务。

    创建两个或两个以上的简单或集群任务,并为其添加自定义参数(即条件参数),以作为后续拓扑任务中的子流程。此处以简单任务为例,配置步骤请参见 创建调度任务。其中:

    • 调度类型:必须选择 事件触发

    • 通信方式:必须选择 回调 CALLBACK

    • 自定义参数:必须配置,作为拓扑任务的条件规则。示例如下:条件参数如未在控制台任务配置中自定义该参数,也可在本地代码中设置,示例如下:

      @Override
      public ClientCommonResult handle(JobExecuteContext context) throws Exception{
      
         context.putCustomParams("num",10);
         return ClientCommonResult.buildSuccessResult();
      }
      说明

      以上示例为简单任务代码处理器中的自定义参数配置,配置的参数名为 num。您也可以根据业务需求自主配置。

  2. 使用条件网关。

    您可以在创建或编辑拓扑任务时,为任务添加条件网关。这里以新建拓扑任务为例,配置步骤请参见 新建拓扑任务。其中,编辑拓扑图步骤的操作如下:

    1. 添加条件网关。

      在拓扑图中单击 add 图标,添加一对 条件网关,然后单击 确定

    2. 设置边条件。

      单击条件开始网关,在 设置边条件 对话框输入步骤 1 创建的自定义参数名,如上述示例中的 num==10,然后单击对号保存条件。设置边条件

    3. 添加子任务节点。

      在条件网关之间的两个分支,分别添加步骤 1 创建的简单或集群任务作为子任务节点。

      • 如果条件满足,则会执行 true 分支上的子任务。

      • 如果条件不满足,则会执行 false 分支上的子任务。条件网关

    4. 单击 提交

    5. 版本管理 页签,发布该任务版本。

    6. 单击右上角的 立即触发,触发该任务。

      您可在 调度记录 中查看该任务的执行实例。