Appearance
8.3 多实例
多实例活动(multi-instance activity)是在业务流程中,为特定步骤定义重复执行的方式。在编程概念中,多实例类似for each结构:可以为给定集合中的每一条目,顺序或并行地,执行特定步骤,甚至是整个子流程。
8.3.1 概念说明
多实例是一个普通活动,加上定义(被称作“多实例特性的”)额外参数,会使得活动在运行时被多次执行。下列活动可以成为多实例活动:
- 用户任务
- 脚本任务
- 服务任务
- 人工任务
- 接收任务
- (嵌入式)子流程
- 调用活动
8.3.2 配置方法
此处以用户任务的多实例为案例,说明如何配置一个用户任务的多实例的配置步骤:
选择多实例的执行类型→设置循环集合→设置和使用变量名→设置完成条件
选择多实例的执行类型:
用户任务默认不开启多实例,如果一个节点需要开启多实例,需要进入该节点的设置页面,打开多实例板块,按需要设置该用户任务的[执行类型]
设置循环集合:
在配置项[循环集合]中,可以通过表达式、自动化等多种方式设置多实例中需要进行循环的列表
此处需要传入用户id的数组,案例传入结构如下:
[
"ek5veueb6c9zg"
]
设置和使用变量名:
完成循环之后,需要设置该循环的变量名,设置的变量可以在处理人中通过表达式进行使用。
设置完成条件:
多实例活动在所有实例都完成时结束。然而,也可以指定一个表达式,在每个实例结束时进行计算。当表达式计算为true时,将销毁所有剩余的实例,并结束多实例活动,继续执行流程。
例如如果希望配置实现一个并行多实例中,任意一个人完成即可完成该任务,可以按如下截图进行配置。