

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SWF ワークフローのライフサイクル
<a name="swf-dev-workflow-exec-lifecycle"></a>

Amazon SWF は、ワークフロー実行の開始から完了まで適切なタスク (アクティビティタスクまたは決定タスク) を割り当てて、アクターとやり取りします。

次の図は、機能するコンポーネントの観点から、注文処理ワークフロー実行のライフサイクルを示しています。

![e コマースのワークフロー実行](http://docs.aws.amazon.com/ja_jp/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)` イベント。 | 