Amazon SWF 工作流执行关闭 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SWF 工作流执行关闭

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

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

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

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

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

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

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

如果执行超过某些服务定义的限制,Amazon SWF 会终止该工作流的执行。如果父工作流已终止且适用的子策略指示子工作流也应终止,则 Amazon SWF 会终止子工作流。