1. 概述
1.1 应用场景
API 取数场景中,有时需要遍历 id 或者其他参数去查询每个参数值对应的数据并落库,用户发现任务运行较慢,希望循环容器支持并发。
1.2 功能简介
4.2.19.1 及之后版本,可使用「并行遍历(For-Each Parallel)」提升任务运行速度。

2. 操作步骤
2.1 场景模拟
调用 API 接口时传入城市数据,可获取该城市的订单数据;该接口每次只能传入一个城市参数,现在需要获取多个城市对应的订单数据。

2.2 将城市输出为参数
新建定时任务,拖入「参数赋值」节点,将城市数据取出并输出为参数。如下图所示:

2.3 循环容器设置
拖入「循环容器」节点,循环执行模式选择「并行遍历(For-Each Parallel)」,遍历对象勾选 2.2 节设置的参数 city,最大并发数设置为 3。如下图所示:
设置项具体说明可参见:并行遍历(For-Each Parallel)

2.4 取数接口数据
1)「循环容器」节点中拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「API输入」算子,使用参数 city 取出接口数据。如下图所示:

点击「数据预览」,可查看取出的接口数据,订单数据保存在 output 字段中,为 JSON 格式。

3)拖入「JSON 解析」算子,解析接口数据。

点击「数据预览」,可看到解析后的数据:

4)拖入「DB表输出」算子,将数据输出。
2.5 效果查看
1)运行定时任务,运行成功后,日志显示执行了 4 次循环:

2)2.3 节中,最大并发数我们设置的为 3,可看到日志中前三次循环启动时刻相同。如下图所示:

