Workflow-Verlauf in Amazon SWF - 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.

Workflow-Verlauf in Amazon SWF

Amazon SWF zeichnet den Fortschritt jeder Workflow-Ausführung im Workflow-Verlauf auf — eine detaillierte, vollständige und konsistente Aufzeichnung aller Ereignisse, die seit Beginn der Workflow-Ausführung aufgetreten sind.

Ein Ereignis stellt eine diskrete Änderung des Status Ihrer Workflow-Ausführung dar, z. B. wenn eine neue Aktivität geplant ist oder eine laufende Aktivität abgeschlossen wird. 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:

  • Anwendungen können statuslos sein, da alle Informationen über eine Workflow-Ausführung in ihrem 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

Programmgesteuert werden die Ereignisse im Verlauf der Workflow-Ausführung als JSON-Objekte ( JavaScript Object Notation) 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. Das ActivityTaskCompleted Ereignis hat beispielsweise Attribute, die die IDs für die Ereignisse stehen, die dem Zeitpunkt entsprechen, zu dem die Aktivitätsaufgabe geplant und gestartet wurde, sowie ein Attribut, das Ergebnisdaten enthält.

Mithilfe der GetWorkflowExecutionHistoryAktion können Sie eine Kopie des aktuellen Status des Workflow-Ausführungsverlaufs abrufen. Darüber hinaus erhält der Entscheider im Rahmen der Interaktion zwischen Amazon SWF und dem Entscheider für Ihren Workflow 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 Verlauf der Workflow-Ausführung erscheinen können, finden Sie in der Amazon Simple Workflow Service API-Referenz zum HistoryEventDatentyp.

Amazon SWF speichert den vollständigen Verlauf aller Workflow-Ausführungen für eine konfigurierbare Anzahl von Tagen nach Abschluss der Ausführung. 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.