Amazon Simple Workflow Service
开发人员指南 (API Version 2012-01-25)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Amazon SWF 工作流程执行关闭

一旦您启动工作流程执行,该工作流程就会处于开启状态。开启的工作流程执行可以在完成、取消、失败或超时的情况下终止。它还可以继续作为新执行,或可以被终止。工作流程执行可由决策程序、管理该工作流程的人员或 Amazon SWF 来关闭。

如果决策程序确定工作流程活动已关闭,它应该使用 RespondDecisionTaskCompleted 操作并传出 CompleteWorkflowExecution 决策终止完成状态的工作流程执行。

或者,决策程序还可以终止取消或失败状态下的工作流程执行。若要取消执行,决策程序应使用 RespondDecisionTaskCompleted 操作并传出 CancelWorkflowExecution 决策。

如果工作流程执行进入到正常完成范围之外的状态,决策程序应舍弃该工作流程执行。若要舍弃执行,决策程序应使用 RespondDecisionTaskCompleted 操作并传出 FailWorkflowExecution 决策。

Amazon SWF 对工作流程执行进行监视,以确保其不会超过用户指定的任何超时设置。如果工作流程执行超时,则 Amazon SWF 会自动将其关闭。有关超时值的更多信息,请参阅 超时类型 章节。

决策程序可能还要终止执行,并使用 RespondDecisionTaskCompleted 操作和传出 ContinueAsNewWorkflowExecution 决策来将其在逻辑上继续以新执行进行操作。这对于长时间运行的工作流程执行是一个非常有用的策略,因为这种工作流程执行的历史可能会随着时间的推移变得很大。

最后,您可以直接通过 Amazon SWF 控制台或使用 TerminateWorkflowExecution API 以编程方式终止工作流程执行。终止操作会迫使工作流程执行关闭。取消优先于终止,因为您的决策程序可以管理工作流程执行的终止。

Amazon SWF 会在该执行超出特定的服务定义限制的情况下终止工作流程执行。Amazon SWF 还会在父工作流程已终止且适用的子策略指示子工作流程也应终止的情况下终止该子工作流程。