

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SWF 工作流程的生命週期
<a name="swf-dev-workflow-exec-lifecycle"></a>

從工作流程執行開始到完成，Amazon SWF 會透過指派適當的任務來與演員互動，包括活動任務或決策任務。

下圖是從處理訂單處理工作流程執行的元件觀點，顯示該執行的生命週期。

![\[電子商務工作流程執行\]](http://docs.aws.amazon.com/zh_tw/amazonswf/latest/developerguide/images/ecommerce_04.png)


## 工作流程執行生命週期
<a name="workflow-execution-life-cycle"></a>

下表說明上圖中的每個任務。


****  

|   描述  |   動作、決策或事件  | 
| --- | --- | 
|  1. 工作流程啟動者會呼叫適當的 Amazon SWF 動作來啟動訂單的工作流程執行，並提供訂單資訊。  |  `[StartWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html)` 動作。  | 
|  2. Amazon SWF 會收到啟動工作流程執行請求，然後排程第一個決策任務。  | [WorkflowExecutionStarted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_WorkflowExecutionStartedEventAttributes.html) 事件和 [DecisionTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskScheduledEventAttributes.html) 事件。 | 
|  3. 決策者從 Amazon SWF 接收任務、檢閱歷史記錄、套用協調邏輯以判斷先前未發生的活動、決定使用活動工作者處理任務所需的資訊來排程驗證訂單活動，並將決策傳回給 Amazon SWF。  | [PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html) 動作。[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html) 動作和 [ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html) 決策。 | 
|  4. Amazon SWF 會收到決策、排程驗證訂單活動任務，並等待活動任務完成或逾時。  |  `[ActivityTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskScheduledEventAttributes.html)` 事件  | 
|  5. 可執行驗證訂單活動的活動工作者會收到任務、執行任務，並將結果傳回給 Amazon SWF。  |  `[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)` 動作和 `[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)` 動作。  | 
|  6. Amazon SWF 會收到驗證訂單活動的結果，將它們新增至工作流程歷史記錄，並排程決策任務。  |  `[ActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskCompletedEventAttributes.html)` 事件和 `[DecisionTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskScheduledEventAttributes.html)` 事件。  | 
|  7. 決策者從 Amazon SWF 接收任務、檢閱歷史記錄、套用協調邏輯、決定使用活動工作者處理任務所需的資訊來排程 ChargeCreditCard 活動任務，並將決策傳回給 Amazon SWF。  |  `[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)` 動作。`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)` 動作和 `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 決策。  | 
|  8. Amazon SWF 會收到決策、排程 ChargeCreditCard 活動任務，並等待它完成或逾時。  |  `[DecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskCompletedEventAttributes.html)` 事件和 `[ActivityTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskScheduledEventAttributes.html)` 事件。  | 
|  9. 可執行 ChargeCreditCard 活動的活動工作者會收到任務、執行任務，並將結果傳回給 Amazon SWF。  |  `[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)` 和 `[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)` 動作。  | 
|  10. Amazon SWF 會收到 ChargeCreditCard 活動任務的結果，將其新增至工作流程歷史記錄，並排程決策任務。  |  `[ActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskCompletedEventAttributes.html)` 事件和 `[DecisionTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskScheduledEventAttributes.html)` 事件。  | 
|  11. 決策者從 Amazon SWF 接收任務、檢閱歷史記錄、套用協調邏輯、決定使用活動工作者執行任務所需的資訊來排程 ShipOrder 活動任務，並將決策傳回給 Amazon SWF。  |  `[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)` 動作。`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)` 與 `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 決策。  | 
|  12. Amazon SWF 會收到決策、排程 ShipOrder 活動任務，並等待它完成或逾時。  |  `[DecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskCompletedEventAttributes.html)` 事件和 `[ActivityTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskScheduledEventAttributes.html)` 事件。  | 
|  13. 可執行 ShipOrder 活動的活動工作者會收到任務、執行任務，並將結果傳回給 Amazon SWF。  |  `[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)` 動作和 `[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)` 動作。  | 
|  14. Amazon SWF 會收到 ShipOrder 活動任務的結果，將其新增至工作流程歷史記錄，並排程決策任務。  |  `[ActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskCompletedEventAttributes.html)` 事件和 `[DecisionTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskScheduledEventAttributes.html)` 事件。  | 
|  15. 決策者從 Amazon SWF 接收任務、檢閱歷史記錄、套用協調邏輯、決定使用活動工作者執行任務所需的資訊來排程 RecordCompletion 活動任務，並將決策傳回給 Amazon SWF。  |  `[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)` 動作。`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)` 動作和 `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 決策。  | 
|  16. Amazon SWF 會收到決策、排程 RecordCompletion 活動任務，並等待它完成或逾時。  |  `[DecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskCompletedEventAttributes.html)` 事件和 `[ActivityTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskScheduledEventAttributes.html)` 事件。  | 
|  17. 可執行 RecordCompletion 活動的活動工作者會收到任務、執行任務，並將結果傳回給 Amazon SWF。  |  `[PollForActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html)` 動作和 `[RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html)` 動作。  | 
|  18. Amazon SWF 會收到 RecordCompletion 活動任務的結果、將其新增至工作流程歷史記錄，以及排程決策任務。  |  `[ActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskCompletedEventAttributes.html)` 事件和 `[DecisionTaskScheduled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskScheduledEventAttributes.html)` 事件。  | 
|  19. 決策者從 Amazon SWF 接收任務、檢閱歷史記錄、套用協調邏輯、決定關閉工作流程執行，並將決策連同任何結果傳回給 Amazon SWF。  |  `[PollForDecisionTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html)` 動作。`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)` 動作和 `[CompleteWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CompleteWorkflowExecutionDecisionAttributes.html)` 決策。  | 
|  20. Amazon SWF 會關閉工作流程執行，並封存歷史記錄以供日後參考。  |  `[WorkflowExecutionCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_WorkflowExecutionCompletedEventAttributes.html)` 事件。  | 