当我们多次触发 SWF Flows @Execute 方法时会发生什么?
What happens when we trigger the SWF Flows @Execute method multiple times?
我们有一个用例,我们在其中启动工作流(通过调用 @Execute 方法)并为后续 activity 安排一个计时器。现在,这个工作流的触发是基于 API 调用,可以被客户端多次触发。
- 想知道 SWF 流如何处理 @Execute 方法的多次调用。
- 它会创建多次执行吗?
- 或者是否会为同一工作流执行安排多个计时器时钟?
SWF 只允许每个 ID 执行一个打开的工作流。因此,如果工作流仍然 运行 再次调用 Execute 方法将 return WorkflowExecutionAlreadyStartedFault
.
请注意,如果一个工作流已完成,即使对于相同的 ID,新的工作流也将开始。
temporal.io which is an open source version of SWF has an additional WorkflowIdReusePolicy 指定在已经完成工作流的情况下应该做什么。
我们有一个用例,我们在其中启动工作流(通过调用 @Execute 方法)并为后续 activity 安排一个计时器。现在,这个工作流的触发是基于 API 调用,可以被客户端多次触发。
- 想知道 SWF 流如何处理 @Execute 方法的多次调用。
- 它会创建多次执行吗?
- 或者是否会为同一工作流执行安排多个计时器时钟?
SWF 只允许每个 ID 执行一个打开的工作流。因此,如果工作流仍然 运行 再次调用 Execute 方法将 return WorkflowExecutionAlreadyStartedFault
.
请注意,如果一个工作流已完成,即使对于相同的 ID,新的工作流也将开始。
temporal.io which is an open source version of SWF has an additional WorkflowIdReusePolicy 指定在已经完成工作流的情况下应该做什么。