Amazon SWF 워크플로 내역 - Amazon Simple Workflow Service

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

Amazon SWF 워크플로 내역

모든 워크플로 실행의 진행 상황은 해당하는 워크플로 내역에 기록되고, 이러한 내역은 Amazon SWF에서 유지관리합니다. 워크플로 내역은 워크플로 실행이 시작된 후 발생한 모든 이벤트에 대한 자세하고, 완전하고, 일관된 기록을 제공합니다. 이벤트는 새 활동이 예약됨 또는 실행 중인 활동이 완료됨 등과 같은 워크플로 실행 상태에 대한 별도의 변경을 나타냅니다. 워크플로 내역에는 워크플로 실행의 실행 상태에 변화를 일으킨 모든 이벤트가 포함됩니다(예: 활동이 예약됨 및 완료됨, 작업 시간 초과 및 신호).

워크플로 실행 상태를 변경하지 않는 작업은 일반적으로 워크플로 내역에 나타나지 않습니다. 예를 들어, 워크플로 내역에는 폴 시도 또는 시각적 작업의 사용은 표시되지 않습니다.

워크플로 내역에는 다음과 같은 몇 가지 주요 이점이 있습니다.

  • 워크플로 실행에 대한 모든 정보가 워크플로 내역에 저장되므로 애플리케이션이 상태 비저장일 수 있습니다.

  • 내역은 각 워크플로 실행에 대해 활동이 예약됨, 활동의 현재 상태 및 활동의 결과에 대한 기록을 제공합니다. 워크플로 실행은 이러한 정보를 사용해 다음 단계를 결정합니다.

  • 내역은 실행 중인 워크플로 실행을 모니터링하고 완료된 워크플로 실행을 확인하는 데 사용할 수 있는 자세한 감사 추적을 제공합니다.

다음은 전자 상거래 워크플로 내역의 개념 보기입니다.

Invoice0001 Start Workflow Execution Schedule Verify Order Start Verify Order Activity Complete Verify Order Activity Schedule Charge Credit Card Start Charge Credit Card Activity Complete Charge Credit Card Activity Schedule Ship Order Start Ship Order Activity

이전 예에서는 주문이 배송 대기 중이었는데, 다음 예에서는 주문이 완료됩니다. 워크플로 내역은 누적되므로 다음과 같이 최신 이벤트가 추가됩니다.

Invoice0001 Start Workflow Execution Schedule Verify Order Start Verify Order Activity Complete Verify Order Activity Schedule Charge Credit Card Start Charge Credit Card Activity Complete Charge Credit Card Activity Schedule Ship Order Start Ship Order Activity Complete Ship Order Activity Schedule Record Order Completion Start Record Order Completion Activity Complete Record Order Completion Activity Close Workflow

워크플로 실행 내역의 이벤트는 프로그래밍에서 JavaScript Object Notation(JSON) 객체로 표시됩니다. 내역 자체는 이러한 객체의 JSON 어레이입니다. 각 이벤트에는 다음 항목이 포함되어 있습니다.

또한 각 이벤트 유형에는 해당 유형에 알맞은 고유한 서술형 속성 집합이 포함되어 있습니다. 예를 들어, ActivityTaskCompleted 이벤트에는 활동 작업이 예약된 시간과 시작된 시점에 해당하는 이벤트의 ID가 포함된 속성과 결과 데이터를 포함하고 있는 속성이 들어 있습니다.

GetWorkflowExecutionHistory 작업을 사용하여 워크플로우 실행 내역의 현재 상태 사본을 얻을 수 있습니다. 또한 결정자는 Amazon SWF와 워크플로 결정자 간의 상호 작용 과정에서 주기적으로 내역 사본을 수신합니다.

아래는 JSON 형식으로 표시된 워크플로 실행 내역의 예 중 한 부분입니다.

[ { "eventId": 11, "eventTimestamp": 1326671603.102, "eventType": "WorkflowExecutionTimedOut", "workflowExecutionTimedOutEventAttributes": { "childPolicy": "TERMINATE", "timeoutType": "START_TO_CLOSE" } }, { "decisionTaskScheduledEventAttributes": { "startToCloseTimeout": "600", "taskList": { "name": "specialTaskList" } }, "eventId": 10, "eventTimestamp": 1326670566.124, "eventType": "DecisionTaskScheduled" }, { "activityTaskTimedOutEventAttributes": { "details": "Waiting for confirmation", "scheduledEventId": 8, "startedEventId": 0, "timeoutType": "SCHEDULE_TO_START" }, "eventId": 9, "eventTimestamp": 1326670566.124, "eventType": "ActivityTaskTimedOut" }, { "activityTaskScheduledEventAttributes": { "activityId": "verification-27", "activityType": { "name": "activityVerify", "version": "1.0" }, "control": "digital music", "decisionTaskCompletedEventId": 7, "heartbeatTimeout": "120", "input": "5634-0056-4367-0923,12/12,437", "scheduleToCloseTimeout": "900", "scheduleToStartTimeout": "300", "startToCloseTimeout": "600", "taskList": { "name": "specialTaskList" } }, "eventId": 8, "eventTimestamp": 1326670266.115, "eventType": "ActivityTaskScheduled" }, { "decisionTaskCompletedEventAttributes": { "executionContext": "Black Friday", "scheduledEventId": 5, "startedEventId": 6 }, "eventId": 7, "eventTimestamp": 1326670266.103, "eventType": "DecisionTaskCompleted" }, { "decisionTaskStartedEventAttributes": { "identity": "Decider01", "scheduledEventId": 5 }, "eventId": 6, "eventTimestamp": 1326670161.497, "eventType": "DecisionTaskStarted" }, { "decisionTaskScheduledEventAttributes": { "startToCloseTimeout": "600", "taskList": { "name": "specialTaskList" } }, "eventId": 5, "eventTimestamp": 1326668752.66, "eventType": "DecisionTaskScheduled" }, { "decisionTaskTimedOutEventAttributes": { "scheduledEventId": 2, "startedEventId": 3, "timeoutType": "START_TO_CLOSE" }, "eventId": 4, "eventTimestamp": 1326668752.66, "eventType": "DecisionTaskTimedOut" }, { "decisionTaskStartedEventAttributes": { "identity": "Decider01", "scheduledEventId": 2 }, "eventId": 3, "eventTimestamp": 1326668152.648, "eventType": "DecisionTaskStarted" }, { "decisionTaskScheduledEventAttributes": { "startToCloseTimeout": "600", "taskList": { "name": "specialTaskList" } }, "eventId": 2, "eventTimestamp": 1326668003.094, "eventType": "DecisionTaskScheduled" } ]

워크플로 실행 기록에 표시될 수 있는 다양한 유형의 이벤트에 대한 자세한 목록은 Amazon Simple Workflow Service API 참조HistoryEvent 데이터 유형을 참조하십시오.

Amazon SWF는 실행이 종료된 후 구성 가능한 기간(일수) 동안 모든 워크플로 실행의 전체 내역을 저장합니다. 워크플로 내역 보존 기간이라고 하는 이 기간은 워크플로의 도메인을 등록할 때 지정합니다. 도메인에 대해서는 이 단원의 뒷부분에서 자세히 설명합니다.