Udostępnij przez


BatchJobPreparationTaskOutput interface

Zadanie przygotowania zadania do uruchomienia przed wszystkimi zadaniami zadania w dowolnym węźle obliczeniowym. Przygotowanie zadania umożliwia przygotowanie węzła do uruchamiania zadań podrzędnych dla zadania. Działania często wykonywane w ramach przygotowania zadania obejmują: pobieranie typowych plików zasobów używanych przez wszystkie zadania w zadaniu. Zadanie przygotowania zadania może pobrać te wspólne pliki zasobów do lokalizacji udostępnionej w węźle. (AZ_BATCH_NODE_ROOT_DIR\shared) lub uruchomienie usługi lokalnej w węźle, aby wszystkie zadania tego zadania mogły się z nim komunikować. Jeśli zadanie przygotowania zadania zakończy się niepowodzeniem (oznacza to, że wyczerpuje liczbę ponownych prób przed zakończeniem z kodem zakończenia 0), usługa Batch nie uruchomi zadań tego zadania w węźle. Węzeł obliczeniowy pozostaje niekwalifikowany do uruchamiania zadań tego zadania do momentu jego odtworzenia. Węzeł obliczeniowy pozostaje aktywny i może być używany dla innych zadań. Zadanie przygotowania zadania może być uruchamiane wiele razy w tym samym węźle. W związku z tym należy napisać zadanie przygotowania zadania w celu obsługi ponownego wykonania. Jeśli węzeł zostanie uruchomiony ponownie, zadanie przygotowania zadania zostanie uruchomione ponownie w węźle obliczeniowym przed zaplanowanym innym zadaniem zadania, jeśli ponownie uruchomOnNodeRebootAfterSuccess ma wartość true lub jeśli zadanie przygotowania zadania nie zostało wcześniej ukończone. Jeśli węzeł jest odtwarzany ponownie, zadanie przygotowania zadania jest uruchamiane ponownie przed zaplanowanie dowolnego zadania zadania. 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łaściwości

commandLine

Wiersz polecenia zadania przygotowania zadania. 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).

constraints

Ograniczenia, które mają zastosowanie do zadania przygotowania zadania.

containerSettings

Ustawienia kontenera, w którym jest uruchamiane zadanie przygotowania zadania. 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 zadania przygotowania zadania.

id

Ciąg, który jednoznacznie identyfikuje zadanie przygotowania zadania w ramach zadania. Identyfikator może zawierać dowolną kombinację znaków alfanumerycznych, w tym łączników i podkreśleń, i nie może zawierać więcej niż 64 znaków. Jeśli ta właściwość nie zostanie określona, usługa Batch przypisze wartość domyślną "jobpreparation". Żadne inne zadanie w zadaniu nie może mieć tego samego identyfikatora co zadanie przygotowania zadania. Jeśli spróbujesz przesłać zadanie o tym samym identyfikatorze, usługa Batch odrzuci żądanie z kodem błędu TaskIdSameAsJobPreparationTask; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 409 (konflikt).

rerunOnNodeRebootAfterSuccess

Czy usługa Batch powinna ponownie uruchomić zadanie przygotowania zadania po ponownym uruchomieniu węzła obliczeniowego. Zadanie przygotowania zadania jest zawsze uruchamiane ponownie, jeśli węzeł obliczeniowy jest odtwarzany ponownie lub jeśli zadanie przygotowania zadania nie zostało ukończone (np. ponieważ wystąpił ponowny rozruch podczas uruchamiania zadania). W związku z tym zawsze należy napisać zadanie przygotowania zadania, aby było idempotentne i zachowywać się poprawnie w przypadku wielokrotnego uruchamiania. Wartość domyślna to true.

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. Pliki wymienione w ramach tego elementu znajdują się w katalogu roboczym zadania. 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.

userIdentity

Tożsamość użytkownika, w ramach której jest uruchamiane zadanie przygotowania zadania. W przypadku pominięcia zadanie jest uruchamiane jako użytkownik niebędący administratorem unikatowym dla zadania w węzłach obliczeniowych systemu Windows lub użytkownik niebędący administratorem unikatowym dla puli w węzłach obliczeniowych systemu Linux.

waitForSuccess

Czy usługa Batch powinna czekać na pomyślne zakończenie zadania przygotowania zadania przed zaplanowanie innych zadań zadania w węźle obliczeniowym. Zadanie przygotowania zadania zostało ukończone pomyślnie, jeśli zakończy działanie z kodem zakończenia 0. Jeśli wartość true i zadanie przygotowania zadania zakończy się niepowodzeniem w węźle, usługa Batch ponawia próbę zadania podrzędnego do maksymalnej liczby ponownych prób (zgodnie z określoną w elemektorze ograniczeń). Jeśli zadanie nadal nie zostało ukończone pomyślnie po ponownych próbach, usługa Batch nie będzie planować zadań zadania zadania do węzła. Węzeł pozostaje aktywny i kwalifikuje się do uruchamiania zadań innych zadań. Jeśli wartość false, usługa Batch nie będzie czekać na ukończenie zadania przygotowania zadania. W takim przypadku inne zadania zadania podrzędne mogą rozpocząć wykonywanie w węźle obliczeniowym, gdy zadanie przygotowania zadania jest nadal uruchomione; a nawet jeśli zadanie przygotowania zadania 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 zadania przygotowania zadania. 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

constraints

Ograniczenia, które mają zastosowanie do zadania przygotowania zadania.

constraints?: BatchTaskConstraintsOutput

Wartość właściwości

containerSettings

Ustawienia kontenera, w którym jest uruchamiane zadanie przygotowania zadania. 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 zadania przygotowania zadania.

environmentSettings?: EnvironmentSettingOutput[]

Wartość właściwości

id

Ciąg, który jednoznacznie identyfikuje zadanie przygotowania zadania w ramach zadania. Identyfikator może zawierać dowolną kombinację znaków alfanumerycznych, w tym łączników i podkreśleń, i nie może zawierać więcej niż 64 znaków. Jeśli ta właściwość nie zostanie określona, usługa Batch przypisze wartość domyślną "jobpreparation". Żadne inne zadanie w zadaniu nie może mieć tego samego identyfikatora co zadanie przygotowania zadania. Jeśli spróbujesz przesłać zadanie o tym samym identyfikatorze, usługa Batch odrzuci żądanie z kodem błędu TaskIdSameAsJobPreparationTask; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 409 (konflikt).

id?: string

Wartość właściwości

string

rerunOnNodeRebootAfterSuccess

Czy usługa Batch powinna ponownie uruchomić zadanie przygotowania zadania po ponownym uruchomieniu węzła obliczeniowego. Zadanie przygotowania zadania jest zawsze uruchamiane ponownie, jeśli węzeł obliczeniowy jest odtwarzany ponownie lub jeśli zadanie przygotowania zadania nie zostało ukończone (np. ponieważ wystąpił ponowny rozruch podczas uruchamiania zadania). W związku z tym zawsze należy napisać zadanie przygotowania zadania, aby było idempotentne i zachowywać się poprawnie w przypadku wielokrotnego uruchamiania. Wartość domyślna to true.

rerunOnNodeRebootAfterSuccess?: boolean

Wartość właściwości

boolean

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. Pliki wymienione w ramach tego elementu znajdują się w katalogu roboczym zadania. 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.

resourceFiles?: ResourceFileOutput[]

Wartość właściwości

userIdentity

Tożsamość użytkownika, w ramach której jest uruchamiane zadanie przygotowania zadania. W przypadku pominięcia zadanie jest uruchamiane jako użytkownik niebędący administratorem unikatowym dla zadania w węzłach obliczeniowych systemu Windows lub użytkownik niebędący administratorem unikatowym dla puli w węzłach obliczeniowych systemu Linux.

userIdentity?: UserIdentityOutput

Wartość właściwości

waitForSuccess

Czy usługa Batch powinna czekać na pomyślne zakończenie zadania przygotowania zadania przed zaplanowanie innych zadań zadania w węźle obliczeniowym. Zadanie przygotowania zadania zostało ukończone pomyślnie, jeśli zakończy działanie z kodem zakończenia 0. Jeśli wartość true i zadanie przygotowania zadania zakończy się niepowodzeniem w węźle, usługa Batch ponawia próbę zadania podrzędnego do maksymalnej liczby ponownych prób (zgodnie z określoną w elemektorze ograniczeń). Jeśli zadanie nadal nie zostało ukończone pomyślnie po ponownych próbach, usługa Batch nie będzie planować zadań zadania zadania do węzła. Węzeł pozostaje aktywny i kwalifikuje się do uruchamiania zadań innych zadań. Jeśli wartość false, usługa Batch nie będzie czekać na ukończenie zadania przygotowania zadania. W takim przypadku inne zadania zadania podrzędne mogą rozpocząć wykonywanie w węźle obliczeniowym, gdy zadanie przygotowania zadania jest nadal uruchomione; a nawet jeśli zadanie przygotowania zadania 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