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.
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 EC2 Amazon-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 Strategie erneut versuchenErstellen Sie eine Auftragsdefinition mit einem Knoten , Tutorial: Einen Job einreichen und Fehlercodes für gestoppte Aufgaben.