ParallelEnd
分类: 通用步骤
命名空间: CMS.Plugin.FlowManagement.Abstractions.FlowBusiness.Activitys
基类: ParallelEndActivity (SYC.Flow.Kernel)
模块: FlowManagement.Abstractions
概述
ParallelEnd(并行流程结束)是用于结束并行流程的特殊节点。当运行到并行流程结束步骤时,通过其内部的逻辑运算规则,汇聚所有并行分支并结束整个并行流程。它继承自 SYC.Flow.Kernel.ParallelEndActivity,提供了灵活的等待模式和自动完成未完成分支的功能。
ParallelEnd 必须与 ParallelStart 配对使用,它负责等待并行分支的完成,并根据配置的等待模式决定何时继续执行后续流程。
业务场景
适用场景
- 汇聚并行检测结果: 等待所有检测分支完成后汇总结果
- 同步并行处理: 确保所有并行任务都完成后再继续
- 快速响应: 只要有一个分支完成 就继续执行(WaitOne 模式)
- 超时控制: 配合超时机制,避免无限等待
- 分支结果整合: 收集所有并行分支的输出数据
在系统中的作用
ParallelEnd 在 LMES 流程系统中扮演着并行流程同步器的角色:
- 汇聚所有并行分支
- 根据等待模式决定继续执行的时机
- 自动完成未完成的并行分支
- 管理并行流程的级别代码
- 提供并行流程的完成信号
与其他节点的协作
- ParallelStart: 必须配对使用,ParallelStart 负责启动并行分支
- BusinessActivity: 并行分支中的业务节点,执行完成后流向 ParallelEnd
- 后续节点: ParallelEnd 完成后,流程继续执行后续节点
配置说明
基本配置
| 属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| WaitMode | WaitMode | 是 | WaitAll | 等待模式(WaitOne/WaitAll) |
| ExtendedProperty | BusinessPropertyCollection | 否 | 空集合 | 步骤扩展属性 |
配置项详解
WaitMode
说明: 等待模式,决定 ParallelEnd 何时继续执行后续流程。
取值范围:
WaitOne: 只要有一个并行分支完成就继续执行WaitAll: 等待所有并行分支都完成才继续执行
注意事项:
- WaitOne 模式: 适用于快速响应场景,第一个完成的分支触发继续执行,其他分支会被自动完成
- WaitAll 模式: 适用于需要所有结果的场景,必须等待所有分支都完成
- 选择合适的等待模式对流程性能和正确性至关重要
ExtendedProperty
说明: 扩展属性集合,允许在节点上添加自定义属性,这些属性可以写入流程上下文。
取值范围: BusinessPropertyCollection 对象
注意事项:
- 扩展属性会在并行流程结束时写入流程上下文
- 可以用于记录并行流程的汇总信息