Udostępnij przez


BatchStartTaskOutput interface

Usługa Batch ponowi próbę wykonania zadań po wyzwoleniu operacji odzyskiwania w węźle. Przykłady operacji odzyskiwania obejmują (ale nie tylko) ponowne uruchomienie węzła w złej kondycji lub zniknięcie węzła obliczeniowego z powodu awarii hosta. Ponowne próby z powodu operacji odzyskiwania są niezależne i nie są liczone względem parametru maxTaskRetryCount. Nawet jeśli parametr maxTaskRetryCount wynosi 0, może wystąpić wewnętrzna ponowna próba spowodowana operacją odzyskiwania. W związku z tym wszystkie zadania powinny być idempotentne. Oznacza to, że zadania muszą tolerować przerywanie i ponowne uruchamianie bez powodowania uszkodzenia lub duplikowania danych. Najlepszym rozwiązaniem dla długotrwałych zadań jest użycie jakiejś formy tworzenia punktów kontrolnych. W niektórych przypadkach funkcja StartTask może zostać ponownie uruchomiona, mimo że węzeł obliczeniowy nie został ponownie uruchomiony. Należy zachować szczególną ostrożność, aby uniknąć zadań StartTasks, które tworzą proces przerwania lub instalują/uruchamiają usługi z katalogu roboczego StartTask, ponieważ uniemożliwi to usłudze Batch ponowne uruchomienie zadania StartTask.

Właściwości

commandLine

Wiersz polecenia starttask. Wiersz polecenia nie jest uruchamiany w powłoce i dlatego nie może korzystać z funkcji powłoki, takich jak rozszerzenie zmiennej środowiskowej. Jeśli chcesz skorzystać z takich funkcji, należy wywołać powłokę w wierszu polecenia, na przykład za pomocą polecenia "cmd /c MyCommand" w systemie Windows lub "/bin/sh -c MyCommand" w systemie Linux. Jeśli wiersz polecenia odwołuje się do ścieżek plików, powinien użyć ścieżki względnej (względem katalogu roboczego zadania) lub użyć zmiennej środowiskowej udostępnionej w usłudze Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

containerSettings

Ustawienia kontenera, w którym jest uruchamiana funkcja StartTask. Po określeniu tej wartości wszystkie katalogi rekursywnie poniżej AZ_BATCH_NODE_ROOT_DIR (katalogi główne katalogów usługi Azure Batch w węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe zadania są mapowane do kontenera, a wiersz polecenia zadania jest wykonywany w kontenerze. Pliki utworzone w kontenerze poza AZ_BATCH_NODE_ROOT_DIR mogą nie zostać odzwierciedlone na dysku hosta, co oznacza, że interfejsy API plików usługi Batch nie będą mogły uzyskać dostępu do tych plików.

environmentSettings

Lista ustawień zmiennych środowiskowych dla elementu StartTask.

maxTaskRetryCount

Maksymalna liczba ponownych prób wykonania zadania. Usługa Batch ponawia próbę zadania, jeśli jego kod zakończenia jest inny niżzer. Należy pamiętać, że ta wartość steruje liczbą ponownych prób. Usługa Batch spróbuje raz wykonać zadanie, a następnie może ponowić próbę do tego limitu. Jeśli na przykład maksymalna liczba ponownych prób wynosi 3, usługa Batch próbuje wykonać zadanie do 4 razy (jedna początkowa próba i 3 ponownych prób). Jeśli maksymalna liczba ponownych prób wynosi 0, usługa Batch nie ponowi próby wykonania zadania. Jeśli maksymalna liczba ponownych prób wynosi -1, usługa Batch ponawia próbę zadania bez limitu, jednak nie jest to zalecane w przypadku zadania podrzędnego uruchamiania ani żadnego zadania podrzędnego. Wartość domyślna to 0 (bez ponownych prób).

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. Istnieje maksymalny rozmiar listy plików zasobów. Po przekroczeniu maksymalnego rozmiaru żądanie zakończy się niepowodzeniem, a kod błędu odpowiedzi to RequestEntityTooLarge. W takim przypadku należy zmniejszyć rozmiar kolekcji plików ResourceFiles. Można to osiągnąć przy użyciu plików .zip, pakietów aplikacji lub kontenerów platformy Docker. Pliki wymienione w ramach tego elementu znajdują się w katalogu roboczym zadania.

userIdentity

Tożsamość użytkownika, w ramach której jest uruchamiana funkcja StartTask. W przypadku pominięcia zadanie jest uruchamiane jako użytkownik niebędący administratorem unikatowym dla zadania.

waitForSuccess

Czy usługa Batch powinna czekać na pomyślne zakończenie zadania StartTask (czyli zakończenie z kodem zakończenia 0) przed zaplanowaniem zadań w węźle obliczeniowym. Jeśli wartość true i parametr StartTask zakończy się niepowodzeniem w węźle, usługa Batch ponawia próbę do maksymalnej liczby ponownych prób (maxTaskRetryCount). Jeśli zadanie nadal nie zostało ukończone pomyślnie po ponownych próbach, usługa Batch oznacza węzeł bezużyteczny i nie będzie planować zadań do niego. Ten warunek można wykryć za pomocą szczegółów stanu węzła obliczeniowego i informacji o błędzie. Jeśli wartość false, usługa Batch nie będzie czekać na ukończenie zadania StartTask. W takim przypadku inne zadania mogą rozpocząć wykonywanie w węźle obliczeniowym, gdy funkcja StartTask jest nadal uruchomiona; a nawet jeśli zadanie StartTask zakończy się niepowodzeniem, nowe zadania będą nadal zaplanowane w węźle obliczeniowym. Wartość domyślna to true.

Szczegóły właściwości

commandLine

Wiersz polecenia starttask. Wiersz polecenia nie jest uruchamiany w powłoce i dlatego nie może korzystać z funkcji powłoki, takich jak rozszerzenie zmiennej środowiskowej. Jeśli chcesz skorzystać z takich funkcji, należy wywołać powłokę w wierszu polecenia, na przykład za pomocą polecenia "cmd /c MyCommand" w systemie Windows lub "/bin/sh -c MyCommand" w systemie Linux. Jeśli wiersz polecenia odwołuje się do ścieżek plików, powinien użyć ścieżki względnej (względem katalogu roboczego zadania) lub użyć zmiennej środowiskowej udostępnionej w usłudze Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Wartość właściwości

string

containerSettings

Ustawienia kontenera, w którym jest uruchamiana funkcja StartTask. Po określeniu tej wartości wszystkie katalogi rekursywnie poniżej AZ_BATCH_NODE_ROOT_DIR (katalogi główne katalogów usługi Azure Batch w węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe zadania są mapowane do kontenera, a wiersz polecenia zadania jest wykonywany w kontenerze. Pliki utworzone w kontenerze poza AZ_BATCH_NODE_ROOT_DIR mogą nie zostać odzwierciedlone na dysku hosta, co oznacza, że interfejsy API plików usługi Batch nie będą mogły uzyskać dostępu do tych plików.

containerSettings?: BatchTaskContainerSettingsOutput

Wartość właściwości

environmentSettings

Lista ustawień zmiennych środowiskowych dla elementu StartTask.

environmentSettings?: EnvironmentSettingOutput[]

Wartość właściwości

maxTaskRetryCount

Maksymalna liczba ponownych prób wykonania zadania. Usługa Batch ponawia próbę zadania, jeśli jego kod zakończenia jest inny niżzer. Należy pamiętać, że ta wartość steruje liczbą ponownych prób. Usługa Batch spróbuje raz wykonać zadanie, a następnie może ponowić próbę do tego limitu. Jeśli na przykład maksymalna liczba ponownych prób wynosi 3, usługa Batch próbuje wykonać zadanie do 4 razy (jedna początkowa próba i 3 ponownych prób). Jeśli maksymalna liczba ponownych prób wynosi 0, usługa Batch nie ponowi próby wykonania zadania. Jeśli maksymalna liczba ponownych prób wynosi -1, usługa Batch ponawia próbę zadania bez limitu, jednak nie jest to zalecane w przypadku zadania podrzędnego uruchamiania ani żadnego zadania podrzędnego. Wartość domyślna to 0 (bez ponownych prób).

maxTaskRetryCount?: number

Wartość właściwości

number

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. Istnieje maksymalny rozmiar listy plików zasobów. Po przekroczeniu maksymalnego rozmiaru żądanie zakończy się niepowodzeniem, a kod błędu odpowiedzi to RequestEntityTooLarge. W takim przypadku należy zmniejszyć rozmiar kolekcji plików ResourceFiles. Można to osiągnąć przy użyciu plików .zip, pakietów aplikacji lub kontenerów platformy Docker. Pliki wymienione w ramach tego elementu znajdują się w katalogu roboczym zadania.

resourceFiles?: ResourceFileOutput[]

Wartość właściwości

userIdentity

Tożsamość użytkownika, w ramach której jest uruchamiana funkcja StartTask. W przypadku pominięcia zadanie jest uruchamiane jako użytkownik niebędący administratorem unikatowym dla zadania.

userIdentity?: UserIdentityOutput

Wartość właściwości

waitForSuccess

Czy usługa Batch powinna czekać na pomyślne zakończenie zadania StartTask (czyli zakończenie z kodem zakończenia 0) przed zaplanowaniem zadań w węźle obliczeniowym. Jeśli wartość true i parametr StartTask zakończy się niepowodzeniem w węźle, usługa Batch ponawia próbę do maksymalnej liczby ponownych prób (maxTaskRetryCount). Jeśli zadanie nadal nie zostało ukończone pomyślnie po ponownych próbach, usługa Batch oznacza węzeł bezużyteczny i nie będzie planować zadań do niego. Ten warunek można wykryć za pomocą szczegółów stanu węzła obliczeniowego i informacji o błędzie. Jeśli wartość false, usługa Batch nie będzie czekać na ukończenie zadania StartTask. W takim przypadku inne zadania mogą rozpocząć wykonywanie w węźle obliczeniowym, gdy funkcja StartTask jest nadal uruchomiona; a nawet jeśli zadanie StartTask zakończy się niepowodzeniem, nowe zadania będą nadal zaplanowane w węźle obliczeniowym. Wartość domyślna to true.

waitForSuccess?: boolean

Wartość właściwości

boolean