Amazon SWF ワークフロー実行のライフサイクル - Amazon Simple Workflow Service

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

Amazon SWF ワークフロー実行のライフサイクル

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

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

e コマースのワークフロー実行

ワークフロー実行のライフサイクル

次の表では、前述のイメージの各タスクについて説明します。

説明

アクション、決定、またはイベント

1. ワークフロースターターは適切な Amazon SWF アクションを呼び出して、注文のワークフロー実行を開始し、注文情報を提供します。

StartWorkflowExecution アクション

2. Amazon SWF はワークフロー実行リクエストを受信し、最初の決定タスクをスケジュールします。

WorkflowExecutionStarted イベントと DecisionTaskScheduled イベント。

3. ディサイダーは Amazon SWF からタスクを受け取り、履歴を確認し、調整ロジックを適用して、以前にアクティビティが発生していないことを確認します。また、タスクを処理するためにアクティビティワーカーが必要とする情報で [注文の確認] アクティビティをスケジュールする決定を行い、その決定を Amazon SWF に返します。

PollForDecisionTask アクション。RespondDecisionTaskCompleted アクションと ScheduleActivityTask 決定。

4. Amazon SWF は決定を受け取り、[注文の確認] アクティビティタスクをスケジュールし、アクティビティタスクが完了するかタイムアウトするのを待ちます。

ActivityTaskScheduled イベント

5. [注文の確認] アクティビティを実行できるアクティビティワーカーは、タスクを受け取り、実行して、結果を Amazon SWF に返します。

PollForActivityTask アクションおよび RespondActivityTaskCompleted アクション。

6. Amazon SWF は [注文の確認] アクティビティの結果を受け取り、ワークフロー履歴に追加して、決定タスクをスケジュールします。

ActivityTaskCompleted イベントと DecisionTaskScheduled イベント。

7. ディサイダーは Amazon SWF からタスクを受け取り、履歴を確認し、調整ロジックを適用します。また、ChargeCreditCard アクティビティタスクを処理するためにアクティビティワーカーが必要とする情報でそのアクティビティをスケジュールする決定を行い、結果を Amazon SWF に返します。

PollForDecisionTask アクション。RespondDecisionTaskCompleted アクションと ScheduleActivityTask 決定。

8. Amazon SWF は決定を受け取り、ChargeCreditCard アクティビティタスクをスケジュールし、そのタスクが完了するかタイムアウトするのを待ちます。

DecisionTaskCompleted イベントと ActivityTaskScheduled イベント。

9. ChargeCreditCard アクティビティを実行できるアクティビティワーカーは、タスクを受け取り、実行して、結果を Amazon SWF に返します。

PollForActivityTask アクションと RespondActivityTaskCompleted アクション。

10. Amazon SWF は ChargeCreditCard アクティビティタスクの結果を受け取り、ワークフロー履歴に追加して、決定タスクをスケジュールします。

ActivityTaskCompleted イベントと DecisionTaskScheduled イベント。

11. ディサイダーは Amazon SWF からタスクを受け取り、履歴を確認し、調整ロジックを適用します。また、ShipOrder アクティビティタスクを実行するためにアクティビティワーカーが必要とする情報でそのアクティビティをスケジュールする決定を行い、結果を Amazon SWF に返します。

PollForDecisionTask アクション RespondDecisionTaskCompletedScheduleActivityTask 決定。

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 イベント。