Amazon SWF SWF-Workflow-Verlauf - Amazon Simple Workflow Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon SWF SWF-Workflow-Verlauf

Der Fortschritt einer jeden Workflow-Ausführung wird in dem von Amazon SWF verwaltenden Workflow-Verlauf aufgezeichnet. Der Workflow-Verlauf ist ein detaillierter, vollständiger und konsistenter Datensatz eines jeden Ereignisses, das seit dem Start der Workflow-Ausführung aufgetreten ist. Ein Ereignis stellt eine eigenständige Änderung des Status einer Workflow-Ausführung da. Dabei kann es sich beispielsweise um eine neue geplante Aktivität oder das Abschließen der Ausführung einer Aktivität handeln. Der Workflow-Verlauf enthält alle Ereignisse, die eine Änderung des Status der Workflow-Ausführung verursachen. Dazu zählen geplante und abgeschlossene Aktivitäten, Aufgaben-Timeouts und Signale.

Operationen, die den Status einer Workflow-Ausführung nicht ändern, werden in der Regel nicht im Workflow-Verlauf erfasst. So enthält der Workflow-Verlauf beispielsweise keine Abrufversuche oder Daten zur Verwendung von Sichtbarkeitsoperationen.

Der Workflow-Verlauf bietet mehrere wichtige Vorteile:

  • Er ermöglicht eine Zustandslosigkeit von Anwendungen, da alle Informationen zu einer Workflow-Ausführung im Workflow-Verlauf gespeichert werden.

  • Der Verlauf stellt für jede Workflow-Ausführung einen Datensatz mit den geplanten Aktivitäten, deren aktuellen Status und deren Ergebnisse zur Verfügung. Anhand dieser Informationen werden die nächsten Schritte der Workflow-Ausführung bestimmt.

  • Der Verlauf enthält detaillierte Audit-Trail-Daten, die Sie zum Überwachen von Workflow-Ausführungen und zum Prüfen abgeschlossener Workflow-Ausführungen nutzen können.

Im Folgenden finden Sie einen konzeptionellen Überblick über den Verlauf des E-Commerce-Workflows:

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

Im vorherigen Beispiel ist die Bestellung bereit für den Versand. Im folgenden Beispiel ist die Bestellung abgeschlossen. Da der Workflow-Verlauf kumulativ ist, werden die neueren Ereignisse angefügt:

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

Programmtechnisch werden die Ereignisse im Workflow-Ausführungsverlauf als JavaScript Object Notation (JSON)-Objekte dargestellt. Beim Verlauf selbst handelt es sich um ein JSON-Array dieser Objekte. Jedes Ereignis verfügt über Folgendes:

Darüber hinaus verfügt jeder Ereignistyp über einen eindeutigen Satz an beschreibenden Attributen, die dem Typ entsprechen. So verfügt beispielsweise das ActivityTaskCompleted-Ereignis über Attribute, die die IDs für die Ereignisse enthalten, die dem Zeitpunkt entsprechen, zu dem die Aktivitätsaufgabe geplant und gestartet wurde, sowie über ein Attribut, indem die Ergebnisdaten gespeichert werden.

Über die GetWorkflowExecutionHistory-Aktion erhalten Sie eine Kopie des aktuellen Status des Workflow-Ausführungsverlaufs. Im Rahmen der Interaktion zwischen Amazon SWF und dem Entscheider Ihres Workflows empfängt der Entscheider darüber hinaus regelmäßig Kopien des Verlaufs.

Nachfolgend sehen Sie ein Beispiel für einen Workflow-Ausführungsverlauf im JSON-Format.

[ { "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" } ]

Eine detaillierte Liste der verschiedenen Ereignistypen, die im Workflow-Ausführungsverlauf angezeigt werden können, finden Sie unter demhistoryEvent-Datentyp imAmazon Simple Workflow Service API-Referenzaus.

Amazon SWF speichert den vollständigen Verlauf der Workflow-Ausführungen für eine konfigurierbare Anzahl von Tagen nach Ausführungsabbruch. Dieser Zeitraum, der auch als Aufbewahrungszeitraum des Workflow-Verlaufs bezeichnet wird, wird festgelegt, wenn Sie eine Domäne für Ihren Workflow registrieren. Domänen werden an späterer Stelle in diesem Abschnitt detaillierter erläutert.