并行工作流活动:ConditionedActivityGroup 的使用指南
1. ConditionedActivityGroup 活动概述
ConditionedActivityGroup(CAG)活动是一种独特的复合活动,它兼具并行和循环执行的特性。与常见的工作流活动不同,CAG 允许用户参与并行子活动的调度执行。
CAG 整体会持续运行,直到满足指定的条件(即 UntilCondition)为真,或者在未设置该条件时,所有子活动都报告没有更多工作可做。子活动会并行执行,但只有在各自的条件(即 WhenCondition)满足时才会启动。如果没有子活动的 WhenCondition 满足,且没有通过 UntilCondition 强制继续,CAG 活动将终止。若有一个或多个子活动的 WhenCondition 满足,这些子活动会并行执行,而不满足条件的子活动则处于空闲状态。
CAG 的执行流程如下:
1. 评估 UntilCondition。
2. 若 UntilCondition 允许继续执行,评估每个子活动的 WhenCondition。
3. 满足 WhenCondition 的子活动被调度执行,执行顺序由它们在父 CAG 中的放置顺序决定。
4. 每个子活动执行完成后,重新评估 CAG 的 UntilCondition 和子活动的 WhenCondition。
下面通过 mermaid 流程图展示 CAG 的执行流程:
graph TD; A[开始] --> B{评估 UntilCondition};