工作流节点--循环
功能介绍
通过循环节点可以重复执行一段流程。循环方式支持按照指定的次数循环执行,也支持在满足特定条件时循环执行,直到达到退出条件为止。
-
满足条件时循环
将一直循环执行一段流程,当参数达到退出条件后循环结束。
-
循环指定次数
给循环设定起始值、结束值和步长值,当起始值大于结束值时退出循环。
多次循环流程之间是严格串行执行的
每循环一次,累加一次工作流执行次数
方式一、循环指定次数
场景实现:从题库100道题目中随机抽取10道题目生成一套试卷。
实现思路:通过获取单条数据节点实现随机抽取1道题目,复制题目并关联到试卷中,并将原题目标记为已获取,这样循环执行10次,循环结束后,解除题库中的标记。
添加循环节点
流程中添加"循环"节点,并选择"循环指定次数"的方式

配置循环节点
参数设置
循环指定次数的方式,有3个系统固定参数:start、end、step。只允许配置初始值,不允许删除和修改参数名称。
- start: 循环开始的值,
- step: 每次循环后 start递增的步长值, 例如,start=1,step=2,在执行完第一次循环后,start=3。
- end: 循环结束的值,当start增加到大于end时,退出循环,不在执行下次循环。
除了固定参数,还支持传入自定义参数。如本次场景中每次循环时都需要获取新建的试卷记录,那么就需要传入试卷记录ID(exampaperid),在循环流程中通过记录ID获取到试卷记录。

添加新参数
如需添加新的循环参数,需在循环流程的第一个节点中添加。

循环退出条件
在"循环指定次数"方式下,只能通过比较start和end值来决定是否结束循环。
执行次数示例:
-
start=1,step=1,end=3,循环执行3次,在执行完第三次时,start变为了4,大于end值,循环结束。
-
start=1,step=2,end=3,循环执行2次,在执行完第二次时,start变为了5,大于end值,循环结束。
-
start=1,step=1,end=0,循环执行0次。
最大循环次数
循环不可以无限执行,循环节点最大支持1万次。到达最大循环次数时将自动终止循环并执行后续节点。
在执行循环流程时,即使start值小于end值,如果达到了循环最大次数,也将退出循环。
传递触发者
勾选“将循环流程的触发者设置为本流程的触发者”后,在执行循环流程时,循环流程的触发者为本流程的触发者,若不勾选,子流程触发者是“工作流”。
循环中流程中止时
当循环执行过程中,某次流程出现了中止,如何继续执行,有三种方式:
- 跳出并进入下一次循环 忽略,开始下一次循环
- 跳出并终 止循环,继续后面的流程 整个循环结束,执行循环节点后面的动作。
- 中止流程 循环节点所在的流程直接中止。
配置循环体流程
点击循环节点中的按钮进入循环流程,配置循环流程中的动作。

循环流程的配置如下图:
将执行10次下方流程,每执行完一次后,随机获取到一个题目,start正常+1. 正常执行下次循环。当执行完第10次时,start变为11,不再继续循环。 如果题库中只有6道不够10道题目,在执行第7次时,获取不到题目,直接用中止节点中止流程,退出循环。

完成整个流程
循环结束后,将题目中标记为已查询的题目直接清除标记。整个流程配置完成。
