如何防止执行无效的工作流操作

本文关键字:工作流 操作 无效 何防止 执行 | 更新日期: 2023-09-27 18:00:43

我有一个现有的工作流引擎,它从Azure队列中提取xml消息。XML部分包含有关执行的WorkflowAction的信息,这些信息依次传递给实际的Workflow类并在其中进行处理。

例如,我们在我的工作流类A:中有以下步骤

步骤1-->步骤2-->步骤3-

Step 2Step 3的先决条件,而Step 1Step 2的要求。

因此,如果A从引擎接收到一条名为WaitforStep1 action的消息,它将标记该特定实例的Step 1完成,并将其继续到Step 2

现在我的问题是:如果接收到包含信息WaitforStep2而不是WaitforStep1的消息,则实例将直接跳转Step 3,而不经过Step 2

有没有办法防止这种情况发生?

免责声明:我是WF的初学者。

如何防止执行无效的工作流操作

如果不明确地对工作流建模,就不能跳过工作流中的活动。因此,如果接收到无序的消息,它们将被拒绝,因为它们试图恢复不存在的书签。

我使用一个Sequence变量来指示任务当前处于哪个步骤。然后,我在PickBranch Action中放入一个If语句,以验证我当前是否处于正确的步骤。