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

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

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

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

 电子商务工作流程执行

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

工作流程执行生命周期

说明

操作、决策或事件

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

StartWorkflowExecution 操作。

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

WorkflowExecutionStarted 事件和 DecisionTaskScheduled 事件。

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

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

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

ActivityTaskScheduled 事件。

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

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

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

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

7) 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协作逻辑,做出决策以通过活动工作程序处理任务所需要的信息排定 ChargeCreditCard 活动任务,并将决策返回到 Amazon SWF。

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

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

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

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

PollForActivityTaskRespondActivityTaskCompleted 操作。

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

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

11) 决策程序从 Amazon SWF 接收任务,检查历史记录,应用协作逻辑,做出决策以通过活动工作程序执行任务所需要的信息排定 ShipOrder 活动任务,并将决策返回到 Amazon SWF。

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

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 操作。带 ScheduleActivityTask 决策的 RespondDecisionTaskCompleted 操作。

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

DecisionTaskCompleted 事件和 ActivityTaskScheduled 事件。

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

PollForActivityTask 操作和 RespondActivityTaskCompleted 操作。

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

ActivityTaskCompleted 事件和 DecisionTaskScheduled 事件。

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

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

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

WorkflowExecutionCompleted 事件。