Skip to content

8.3 多实例

多实例活动(multi-instance activity)是在业务流程中,为特定步骤定义重复执行的方式。在编程概念中,多实例类似for each结构:可以为给定集合中的每一条目,顺序或并行地,执行特定步骤,甚至是整个子流程。

8.3.1 概念说明

多实例是一个普通活动,加上定义(被称作“多实例特性的”)额外参数,会使得活动在运行时被多次执行。下列活动可以成为多实例活动:

  • 用户任务
  • 脚本任务
  • 服务任务
  • 人工任务
  • 接收任务
  • (嵌入式)子流程
  • 调用活动

8.3.2 配置方法

此处以用户任务的多实例为案例,说明如何配置一个用户任务的多实例的配置步骤:

选择多实例的执行类型→设置循环集合→设置和使用变量名→设置完成条件

选择多实例的执行类型:

用户任务默认不开启多实例,如果一个节点需要开启多实例,需要进入该节点的设置页面,打开多实例板块,按需要设置该用户任务的[执行类型]

image-20231201073143847

设置循环集合:

在配置项[循环集合]中,可以通过表达式、自动化等多种方式设置多实例中需要进行循环的列表

image-20231201073434808

此处需要传入用户id的数组,案例传入结构如下:

[
  "ek5veueb6c9zg"
]

设置和使用变量名:

完成循环之后,需要设置该循环的变量名,设置的变量可以在处理人中通过表达式进行使用。

image-20231201073530243image-20231201073542950

设置完成条件:

多实例活动在所有实例都完成时结束。然而,也可以指定一个表达式,在每个实例结束时进行计算。当表达式计算为true时,将销毁所有剩余的实例,并结束多实例活动,继续执行流程。

image-20231201073644129

例如如果希望配置实现一个并行多实例中,任意一个人完成即可完成该任务,可以按如下截图进行配置。

image-20231201073747276