Automatisierte Auftragswiederholungen - AWS Batch

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.

Automatisierte Auftragswiederholungen

Sie können auf Ihre Aufträge und Auftragsdefinitionen eine Wiederholungsstrategie anwenden, mit der fehlgeschlagenen Aufträge automatisch wiederholt werden. Zu den möglichen Ausfallszenarien gehören die folgenden:

  • Ein Beendigungscode ungleich Null von einem Container-Auftrag

  • Ausfall oder Kündigung der Amazon EC2 EC2-Instance

  • Interner AWS Servicefehler oder Ausfall

Wenn ein Job an eine Auftragswarteschlange weitergeleitet und in den RUNNING Status versetzt wird, der als Versuch gewertet wird. Standardmäßig erhält jeder Auftrag einen Versuch, um entweder in den Auftragsstatus SUCCEEDED oder FAILED verschoben zu werden. Sowohl die Arbeitsabläufe für die Auftragsdefinition als auch für die Auftragsübermittlung können jedoch verwendet werden, um eine Wiederholungsstrategie mit einem bis zehn Versuchen festzulegen. Wenn evaluateOnExitangegeben, kann sie bis zu 5 Wiederholungsstrategien enthalten. Wenn evaluateOnExitangegeben, aber keine der Wiederholungsstrategien übereinstimmt, wird der Job erneut versucht. Fügen Sie für Jobs, die nicht mit Exit übereinstimmen, einen letzten Eintrag hinzu, der aus einem beliebigen Grund beendet wird. Dieses evaluateOnExit Objekt hat beispielsweise zwei Einträge mit der Aktion von RETRY und einen letzten Eintrag mit der Aktion vonEXIT.

"evaluateOnExit": [ { "action": "RETRY", "onReason": "AGENT" }, { "action": "RETRY", "onStatusReason": "Task failed to start" }, { "action": "EXIT", "onReason": "*" } ]

Zur Laufzeit wird die Umgebungsvariable AWS_BATCH_JOB_ATTEMPT auf die Nummer des entsprechenden Auftragsversuchs des Containers festgelegt. Der erste Versuch ist nummeriert1, und die nachfolgenden Versuche sind in aufsteigender Reihenfolge (z. B. 2, 3, 4).

Nehmen wir beispielsweise an, dass ein Jobversuch aus irgendeinem Grund fehlschlägt und die in der Konfiguration für die Wiederholung angegebene Anzahl von Versuchen größer ist als die AWS_BATCH_JOB_ATTEMPT Anzahl. Dann wird der Job wieder in den RUNNABLE Status versetzt. Weitere Informationen finden Sie unter Auftragsstatus.

Anmerkung

Aufträge, die storniert oder beendet wurden, werden nicht erneut versucht. Außerdem werden Jobs, die aufgrund einer ungültigen Jobdefinition fehlschlagen, nicht erneut versucht.

Weitere Informationen finden Sie unter WiederholungsstrategieErstellen einer Auftragsdefinition mit einem Knoten , Einen Job einreichen und Fehlercodes für gestoppte Aufgaben.