Amazon SWF 워크플로 실행의 수명 주기 - Amazon Simple Workflow Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SWF 워크플로 실행의 수명 주기

워크플로 실행 시작에서 완료에 이르기까지 Amazon SWF는 액터에게 적절한 작업(활동 작업 또는 결정 작업)을 할당해 액터와 상호 작용합니다.

다음 다이어그램은 구성 요소의 관점에서 주문 처리 워크플로 실행의 수명 주기를 보여줍니다.

전자 상거래 워크플로 실행

워크플로 실행 수명 주기

다음 표에서는 앞선 이미지에 나온 각 작업에 대해 설명합니다.

설명

작업, 결정 또는 이벤트

1. 워크플로 시작자가 적절한 Amazon SWF 작업을 호출하여 주문에 대한 워크플로 실행을 시작하여 주문 정보를 제공합니다.

StartWorkflowExecution action.

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 작업. 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 이벤트를 트리거합니다.