Amazon SWF 工作流执行的生命周期 - Amazon Simple Workflow Service

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

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 接收任务,查看历史记录,应用协调逻辑,做出安排 RecordCompletion 活动任务的决策,并提供活动工作线程执行任务所需的信息,最后将决策返回给 Amazon SWF。

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

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

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

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

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

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

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

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

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

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

WorkflowExecutionCompleted event。