Freigeben über


BatchStartTaskOutput interface

Batch wiederholt Aufgaben, wenn ein Wiederherstellungsvorgang auf einem Knoten ausgelöst wird. Beispiele für Wiederherstellungsvorgänge sind (aber nicht beschränkt darauf), wenn ein fehlerhafter Knoten neu gestartet wird oder ein Computeknoten aufgrund eines Hostfehlers verschwunden ist. Wiederholungen aufgrund von Wiederherstellungsvorgängen sind unabhängig von und werden nicht für das maxTaskRetryCount gezählt. Auch wenn das maxTaskRetryCount 0 ist, kann ein interner Wiederholungsversuch aufgrund eines Wiederherstellungsvorgangs auftreten. Aus diesem Gründen sollten alle Aufgaben idempotent sein. Dies bedeutet, dass Aufgaben unterbrochen und neu gestartet werden müssen, ohne dass Beschädigte oder doppelte Daten verursacht werden. Die bewährte Methode für lange ausgeführte Aufgaben besteht darin, eine Form der Prüfpunkterstellung zu verwenden. In einigen Fällen kann der StartTask erneut ausgeführt werden, obwohl der Computeknoten nicht neu gestartet wurde. Es sollte besonders darauf geachtet werden, startTasks zu vermeiden, die Unterbrechungsvorgang erstellen oder Dienste aus dem StartTask-Arbeitsverzeichnis installieren/starten, da dadurch verhindert wird, dass Batch die StartTask erneut ausführen kann.

Eigenschaften

commandLine

Die Befehlszeile des StartTask. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn Sie diese Features nutzen möchten, sollten Sie die Shell in der Befehlszeile aufrufen, z. B. mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" in Linux. Wenn sich die Befehlszeile auf Dateipfade bezieht, sollte sie einen relativen Pfad (relativ zum Arbeitsverzeichnis "Aufgabe") verwenden oder die vom Batch bereitgestellte Umgebungsvariable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) verwenden.

containerSettings

Die Einstellungen für den Container, unter dem der StartTask ausgeführt wird. Wenn dies angegeben wird, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Stamm von Azure Batchverzeichnissen auf dem Knoten) dem Container zugeordnet, alle Taskumgebungsvariablen werden dem Container zugeordnet, und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die im Container außerhalb von AZ_BATCH_NODE_ROOT_DIR erstellt wurden, werden möglicherweise nicht auf den Hostdatenträger wiedergegeben, was bedeutet, dass Batchdatei-APIs nicht auf diese Dateien zugreifen können.

environmentSettings

Eine Liste der Umgebungsvariableneinstellungen für den StartTask.

maxTaskRetryCount

Die maximale Anzahl der Wiederholungsversuche des Vorgangs. Der Batchdienst ruft eine Aufgabe erneut auf, wenn der Beendigungscode nicht null ist. Beachten Sie, dass dieser Wert speziell die Anzahl der Wiederholungen steuert. Der Batchdienst versucht die Aufgabe einmal, und kann dann bis zu diesem Grenzwert erneut versuchen. Wenn die maximale Wiederholungsanzahl beispielsweise 3 ist, versucht Batch die Aufgabe bis zu 4 Mal (ein erster Versuch und 3 Wiederholungsversuche). Wenn die maximale Wiederholungsanzahl 0 ist, wird der Batchdienst den Vorgang nicht wiederholen. Wenn die maximale Wiederholungsanzahl -1 ist, wiederholt der Batchdienst den Vorgang ohne Beschränkung, dies wird jedoch nicht für einen Startvorgang oder einen Vorgang empfohlen. Der Standardwert ist 0 (keine Wiederholungen).

resourceFiles

Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen wird. Es gibt eine maximale Größe für die Liste der Ressourcendateien. Wenn die maximale Größe überschritten wird, schlägt die Anforderung fehl, und der Antwortfehlercode lautet "RequestEntityTooLarge". Wenn dies der Fall ist, muss die Sammlung von ResourceFiles in der Größe reduziert werden. Dies kann mithilfe von .zip Dateien, Anwendungspaketen oder Docker-Containern erreicht werden. Unter diesem Element aufgelistete Dateien befinden sich im Arbeitsverzeichnis der Aufgabe.

userIdentity

Die Benutzeridentität, unter der der StartTask ausgeführt wird. Wenn dies nicht angegeben wird, wird die Aufgabe als nicht administrativer Benutzer ausgeführt, der für die Aufgabe eindeutig ist.

waitForSuccess

Gibt an, ob der Batchdienst warten soll, bis der StartTask erfolgreich abgeschlossen wurde (d. h. zum Beenden mit Beendigungscode 0), bevor Aufgaben auf dem Computeknoten geplant werden. Wenn "true" und "StartTask" auf einem Knoten fehlschlägt, wiederholt der Batchdienst die StartTask bis zur maximalen Wiederholungsanzahl (maxTaskRetryCount). Wenn die Aufgabe nach allen Wiederholungen noch nicht erfolgreich abgeschlossen wurde, markiert der Batchdienst den Knoten nicht verwendbar und plant keine Vorgänge. Diese Bedingung kann über den Computerknotenstatus und Fehlerinformationen erkannt werden. Wenn "false" lautet, wartet der Batchdienst nicht, bis der StartTask abgeschlossen ist. In diesem Fall können andere Aufgaben mit der Ausführung auf dem Computeknoten beginnen, während der StartTask noch ausgeführt wird. und auch wenn der StartTask fehlschlägt, werden neue Aufgaben weiterhin auf dem Computeknoten geplant. Der Standardwert ist "true".

Details zur Eigenschaft

commandLine

Die Befehlszeile des StartTask. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn Sie diese Features nutzen möchten, sollten Sie die Shell in der Befehlszeile aufrufen, z. B. mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" in Linux. Wenn sich die Befehlszeile auf Dateipfade bezieht, sollte sie einen relativen Pfad (relativ zum Arbeitsverzeichnis "Aufgabe") verwenden oder die vom Batch bereitgestellte Umgebungsvariable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) verwenden.

commandLine: string

Eigenschaftswert

string

containerSettings

Die Einstellungen für den Container, unter dem der StartTask ausgeführt wird. Wenn dies angegeben wird, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Stamm von Azure Batchverzeichnissen auf dem Knoten) dem Container zugeordnet, alle Taskumgebungsvariablen werden dem Container zugeordnet, und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die im Container außerhalb von AZ_BATCH_NODE_ROOT_DIR erstellt wurden, werden möglicherweise nicht auf den Hostdatenträger wiedergegeben, was bedeutet, dass Batchdatei-APIs nicht auf diese Dateien zugreifen können.

containerSettings?: BatchTaskContainerSettingsOutput

Eigenschaftswert

environmentSettings

Eine Liste der Umgebungsvariableneinstellungen für den StartTask.

environmentSettings?: EnvironmentSettingOutput[]

Eigenschaftswert

maxTaskRetryCount

Die maximale Anzahl der Wiederholungsversuche des Vorgangs. Der Batchdienst ruft eine Aufgabe erneut auf, wenn der Beendigungscode nicht null ist. Beachten Sie, dass dieser Wert speziell die Anzahl der Wiederholungen steuert. Der Batchdienst versucht die Aufgabe einmal, und kann dann bis zu diesem Grenzwert erneut versuchen. Wenn die maximale Wiederholungsanzahl beispielsweise 3 ist, versucht Batch die Aufgabe bis zu 4 Mal (ein erster Versuch und 3 Wiederholungsversuche). Wenn die maximale Wiederholungsanzahl 0 ist, wird der Batchdienst den Vorgang nicht wiederholen. Wenn die maximale Wiederholungsanzahl -1 ist, wiederholt der Batchdienst den Vorgang ohne Beschränkung, dies wird jedoch nicht für einen Startvorgang oder einen Vorgang empfohlen. Der Standardwert ist 0 (keine Wiederholungen).

maxTaskRetryCount?: number

Eigenschaftswert

number

resourceFiles

Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen wird. Es gibt eine maximale Größe für die Liste der Ressourcendateien. Wenn die maximale Größe überschritten wird, schlägt die Anforderung fehl, und der Antwortfehlercode lautet "RequestEntityTooLarge". Wenn dies der Fall ist, muss die Sammlung von ResourceFiles in der Größe reduziert werden. Dies kann mithilfe von .zip Dateien, Anwendungspaketen oder Docker-Containern erreicht werden. Unter diesem Element aufgelistete Dateien befinden sich im Arbeitsverzeichnis der Aufgabe.

resourceFiles?: ResourceFileOutput[]

Eigenschaftswert

userIdentity

Die Benutzeridentität, unter der der StartTask ausgeführt wird. Wenn dies nicht angegeben wird, wird die Aufgabe als nicht administrativer Benutzer ausgeführt, der für die Aufgabe eindeutig ist.

userIdentity?: UserIdentityOutput

Eigenschaftswert

waitForSuccess

Gibt an, ob der Batchdienst warten soll, bis der StartTask erfolgreich abgeschlossen wurde (d. h. zum Beenden mit Beendigungscode 0), bevor Aufgaben auf dem Computeknoten geplant werden. Wenn "true" und "StartTask" auf einem Knoten fehlschlägt, wiederholt der Batchdienst die StartTask bis zur maximalen Wiederholungsanzahl (maxTaskRetryCount). Wenn die Aufgabe nach allen Wiederholungen noch nicht erfolgreich abgeschlossen wurde, markiert der Batchdienst den Knoten nicht verwendbar und plant keine Vorgänge. Diese Bedingung kann über den Computerknotenstatus und Fehlerinformationen erkannt werden. Wenn "false" lautet, wartet der Batchdienst nicht, bis der StartTask abgeschlossen ist. In diesem Fall können andere Aufgaben mit der Ausführung auf dem Computeknoten beginnen, während der StartTask noch ausgeführt wird. und auch wenn der StartTask fehlschlägt, werden neue Aufgaben weiterhin auf dem Computeknoten geplant. Der Standardwert ist "true".

waitForSuccess?: boolean

Eigenschaftswert

boolean