

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

# Amazon SWF 워크플로의 수명 주기
<a name="swf-dev-workflow-exec-lifecycle"></a>

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

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

![\[전자 상거래 워크플로 실행\]](http://docs.aws.amazon.com/ko_kr/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)` action.  | 
|  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)` 작업. `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 결정을 통한 `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.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)` 작업. `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 결정을 통한 `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.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)` 작업. `[ScheduleActivityTask](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html)` 결정을 통한 `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.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)` 작업. `[CompleteWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CompleteWorkflowExecutionDecisionAttributes.html)` 결정을 통한 `[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)` 작업.  | 
|  20. Amazon SWF는 워크플로 실행을 닫고 이후에 참조할 수 있도록 내역을 보관합니다.  |  `[WorkflowExecutionCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_WorkflowExecutionCompletedEventAttributes.html)` 이벤트를 트리거합니다.  | 