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

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

Amazon SWF 工作流程执行的生命周期

从工作流程执行开始到其完成的过程中,Amazon SWF 通过向操作者分配适当任务(活动任务或决策任务)来与其进行交互。

下图从工作流程上所执行组件的角度显示了订单处理工作流程执行的生命周期。


            电子商务工作流程执行

工作流程执行生命周期

下表解释了上图中的每个任务。

描述

操作、决策或事件

1. 工作流程启动程序调用适当的 Amazon SWF 操作以启动订单的工作流程执行,从而提供订单信息。

StartWorkflowExecution action.

2. Amazon SWF 接收启动工作流程执行请求,然后安排第一个决策任务。

WorkflowExecutionStarted 事件和 DecisionTaskScheduled 事件。

3. 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协调逻辑以确定之前没有活动发生,决定利用活动工作线程处理任务所需要的信息安排 Verify Order 活动,并将决策返回给 Amazon SWF。

PollForDecisionTask 操作。RespondDecisionTaskCompleted 操作和 ScheduleActivityTask 决策。

4. Amazon SWF 接收决策,安排 Verify Order 活动任务,并等待活动任务完成或超时。

ActivityTaskScheduled event

5. 能够执行 Verify Order 活动的活动工作线程接收并执行该任务,将结果返回给 Amazon SWF。

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

6. Amazon SWF 接收 Verify Order 活动的结果,将结果添加到工作流程历史记录,并安排决策任务。

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

7. 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协调逻辑,决定利用活动工作线程处理任务所需要的信息安排 ChargeCreditCard 活动任务,并将决策返回给 Amazon SWF。

PollForDecisionTask 操作。RespondDecisionTaskCompleted 操作,带 ScheduleActivityTask 决策。

8. Amazon SWF 接收决策,安排 ChargeCreditCard 活动任务,并等待任务完成或超时。

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

9. 能够执行 ChargeCreditCard 活动的活动工作线程接收并执行该任务,将结果返回给 Amazon SWF。

PollForActivityTaskRespondActivityTaskCompleted 操作。

10. Amazon SWF 接收 ChargeCreditCard 活动任务的结果,将结果添加到工作流程历史记录,并安排决策任务。

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

11. 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协调逻辑,决定利用活动工作线程执行任务所需要的信息安排 ShipOrder 活动任务,并将决策返回给 Amazon SWF。

PollForDecisionTask 操作。RespondDecisionTaskCompleted,带 ScheduleActivityTask 决策。

12. Amazon SWF 接收决策,安排 ShipOrder 活动任务,并等待任务完成或超时。

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

13. 能够执行 ShipOrder 活动的活动工作线程接收并执行该任务,将结果返回给 Amazon SWF。

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

14. Amazon SWF 接收 ShipOrder 活动任务的结果,将结果添加到工作流程历史记录,并安排决策任务。

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

15. 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协调逻辑,决定利用活动工作线程执行任务所需要的信息安排 RecordComplction 活动任务,并将决策返回给 Amazon SWF。

PollForDecisionTask 操作。RespondDecisionTaskCompleted 操作,带 ScheduleActivityTask 决策。

16. Amazon SWF 接收决策,安排 RecordComplete 活动任务,并等待任务完成或超时。

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

17. 能够执行 RecordComplete 活动的活动工作线程接收并执行该任务,将结果返回给 Amazon SWF。

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

18. Amazon SWF 接收 RecordComplete 活动任务的结果,将结果添加到工作流程历史记录,并安排决策任务。

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

19. 决策程序从接收 Amazon SWF 的任务,检查历史记录,应用协调逻辑,做出决策以关闭工作流程执行,并将决策与所有结果一起返回给 Amazon SWF。

PollForDecisionTask 操作。RespondDecisionTaskCompleted 操作,带 CompleteWorkflowExecution 决策。

20. Amazon SWF 关闭工作流程执行,并将历史记录归档以供将来参考。

WorkflowExecutionCompleted event.