

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-Timeout-Typen
<a name="swf-timeout-types"></a>

Um sicherzustellen, dass Workflow-Ausführungen ordnungsgemäß ausgeführt werden, können Sie mit Amazon SWF verschiedene Arten von Timeouts festlegen. Einige Zeitüberschreitungen legen fest, wie lange der Workflow insgesamt ausgeführt werden kann. Andere Zeitüberschreitungen legen fest, wie lange es dauern darf, bis Aktivitätsaufgaben einem Worker zugewiesen werden, und wie lange die Ausführung einer Aufgabe ab der Planung dauern darf. Alle Timeouts in der Amazon SWF-API werden in Sekunden angegeben. Amazon SWF unterstützt die Zeichenfolge auch `NONE` als Timeout-Wert, was bedeutet, dass kein Timeout vorliegt.

Bei Timeouts im Zusammenhang mit Entscheidungsaufgaben und Aktivitätsaufgaben fügt Amazon SWF dem Workflow-Ausführungsverlauf ein Ereignis hinzu. Die Attribute des Ereignisses geben Aufschluss darüber, welche Art von Timeout eingetreten ist und welche Entscheidungs- oder Aktivitätsaufgabe betroffen war. Amazon SWF plant auch eine Entscheidungsaufgabe. Wenn der Entscheider die neue Entscheidungsaufgabe erhält, sieht er das Timeout-Ereignis in der Historie und ergreift eine entsprechende Aktion, indem er die [ RespondDecisionTaskCompleted ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html) Aktion aufruft.

Eine Aufgabe gilt vom Zeitpunkt der Planung bis zum Schließen der Aufgabe als offen. Für Aufgaben, die gerade von einem Worker verarbeitet werden, wird daher der Status "offen" gesendet. Eine Aufgabe ist geschlossen, wenn ein Worker sie als [abgeschlossen](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html), [abgebrochen](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html) oder [fehlgeschlagen](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html) meldet. Eine Aufgabe kann aufgrund eines Timeouts auch von Amazon SWF geschlossen werden.

## Zeitüberschreitungen in Workflow- und Entscheidungsaufgaben
<a name="swf-timeout-types-workflow"></a>

Die folgende Abbildung zeigt, wie Zeitüberschreitungen für Workflow- und Entscheidungsaufgaben sich auf die Lebensdauer eines Workflows auswirken:

![Lebensdauer eines Workflows mit Zeitüberschreitungen](https://docs.aws.amazon.com/de_de/amazonswf/latest/developerguide/images/workflow_timeouts.png)


Für Workflow- und Entscheidungsaufgaben gibt es zwei relevante Zeitüberschreitungstypen:
+ **Workflow Start to Close (`timeoutType: START_TO_CLOSE`) ** — Dieser Timeout gibt die maximale Zeit an, die eine Workflow-Ausführung bis zum Abschluss benötigen kann. Bei der Registrierung eines Workflows wird ein Standardwert festgelegt, der jedoch beim Starten des Workflows durch andere Werte überschrieben werden kann. Wenn dieser Timeout überschritten wird, schließt Amazon SWF die Workflow-Ausführung und fügt dem [ Ausführungsverlauf ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_HistoryEvent.html) des Workflows ein Ereignis dieses Typs [ WorkflowExecutionTimedOut ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_WorkflowExecutionTimedOutEventAttributes.html) hinzu. Neben dem `timeoutType` legen die Ereignisattribute auch die `childPolicy` fest, die sich auf die Workflow-Ausführung auswirkt. Die untergeordnete Richtlinie legt fest, wie mit untergeordneten Workflow-Ausführungen verfahren wird, wenn bei der übergeordneten Workflow-Ausführung eine Zeitüberschreitung auftritt oder sie anderweitig beendet wird. Wenn in der `childPolicy` beispielsweise TERMINATE festgelegt ist, werden die untergeordneten Workflow-Ausführungen beendet. Nachdem bei einer Workflow-Ausführung eine Zeitüberschreitung aufgetreten ist, können Sie als einzige Aktionen dafür noch Sichtbarkeitsaufrufe ausführen.
+ **Entscheidungsaufgabe von Anfang bis Ende (`timeoutType: START_TO_CLOSE`) ** — Dieser Timeout gibt die maximale Zeit an, die der entsprechende Entscheider benötigen kann, um eine Entscheidungsaufgabe abzuschließen. Sie wird während der Registrierung des Workflow-Typs festgelegt. Wenn dieser Timeout überschritten wird, wird die Aufgabe im Verlauf der Workflow-Ausführung als Timeout markiert, und Amazon SWF fügt dem Workflow-Verlauf ein Ereignis dieses Typs [ DecisionTaskTimedOut ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTaskTimedOutEventAttributes.html) hinzu. Die Ereignisattribute enthalten die IDs für die Ereignisse, die dem Zeitpunkt entsprechen, zu dem die Entscheidungsaufgabe geplant (`scheduledEventId`) und gestartet (`startedEventId`) wurde. Zusätzlich zum Hinzufügen des Ereignisses plant Amazon SWF auch eine neue Entscheidungsaufgabe, um den Entscheider darauf hinzuweisen, dass bei dieser Entscheidungsaufgabe ein Timeout aufgetreten ist. Nach einer Zeitüberschreitung schlagen Versuche, die abgelaufene Entscheidungsaufgabe mit `RespondDecisionTaskCompleted` abzuschließen, fehl.

## Zeitüberschreitungen in Aktivitätsaufgaben
<a name="swf-timeout-types-activity"></a>

Die folgende Abbildung zeigt, wie Zeitüberschreitungen sich auf die Lebensdauer einer Aktivitätsaufgabe auswirken:

![Lebensdauer einer Aufgabe mit Zeitüberschreitungen](https://docs.aws.amazon.com/de_de/amazonswf/latest/developerguide/images/activity_timeouts.png)


Für Aktivitätsaufgaben gibt es vier relevante Zeitüberschreitungstypen:
+ **Aktivitätsaufgabe von Anfang bis Ende (`timeoutType: START_TO_CLOSE`) ** — Dieser Timeout gibt die maximale Zeit an, die ein Aktivitätsmitarbeiter zur Bearbeitung einer Aufgabe benötigen kann, nachdem der Mitarbeiter die Aufgabe erhalten hat. Versuche, eine Aktivitätsaufgabe, bei der das Zeitlimit überschritten wurde [ RespondActivityTaskCanceled](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html), mithilfe von, zu beenden [ RespondActivityTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html), schlagen [ RespondActivityTaskFailed ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html) fehl.
+ **Taktfrequenz der Aktivitätsaufgabe (`timeoutType: HEARTBEAT`) ** — Dieser Timeout gibt die maximale Zeit an, die eine Aufgabe ausführen kann, bevor der Fortschritt der Aktion angezeigt wird. `RecordActivityTaskHeartbeat`
+ **Vom Zeitplan bis zum Start der Aktivitätsaufgabe (`timeoutType: SCHEDULE_TO_START`) ** — Dieser Timeout gibt an, wie lange Amazon SWF wartet, bevor für die Aktivitätsaufgabe ein Timeout eintritt, wenn keine Mitarbeiter für die Ausführung der Aufgabe verfügbar sind. Nach der Zeitüberschreitung wird die abgelaufene Aufgabe keinem anderen Worker zugewiesen.
+ **Zu schließender Zeitplan für die Aktivitätsaufgabe (`timeoutType: SCHEDULE_TO_CLOSE`) ** — Dieses Timeout gibt an, wie lange die Aufgabe vom geplanten Zeitpunkt bis zum Abschluss dauern kann. Dieser Wert sollte nicht größer sein als die Summe der Werte "task schedule-to-start timeout" und "task start-to-close timeout".

**Anmerkung**  
Jeder Zeitüberschreitungstyp verfügt übe einen Standardwert, in der Regel `NONE` (unendlich). Die Höchstdauer für die Ausführung einer Aktivität ist jedoch auf ein Jahr beschränkt.

Die Standardwerte für diese Zeitüberschreitungen werden während der Registrierung des Aktivitätstyps festgelegt, können jedoch beim [Planen](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleActivityTaskDecisionAttributes.html) der Aktivitätsaufgabe überschrieben werden. Wenn einer dieser Timeouts eintritt, fügt Amazon SWF dem [ Workflow-Verlauf ein Ereignis dieses ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_HistoryEvent.html) Typs [ ActivityTaskTimedOut ](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskTimedOutEventAttributes.html) hinzu. Das Wertattribut `timeoutType` dieses Ereignisses gibt an, welche dieser Zeitüberschreitungen aufgetreten ist. Der Wert von `timeoutType` für jede Zeitüberschreitung ist in Klammern angegeben. Die Ereignisattribute enthalten auch die IDs für die Ereignisse, die dem Zeitpunkt entsprechen, zu dem die Aktivitätsaufgabe geplant (`scheduledEventId`) und gestartet (`startedEventId`) wurde. Zusätzlich zum Hinzufügen des Ereignisses plant Amazon SWF auch eine neue Entscheidungsaufgabe, um den Entscheider darauf hinzuweisen, dass der Timeout eingetreten ist.