Udostępnij za pośrednictwem


JobPreparationTask interface

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 pracy 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 w przypadku 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 z obrazu, 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 są ograniczone do) po ponownym uruchomieniu węzła w złej kondycji lub zniknięciu 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 w przypadku 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 rozszerzanie zmiennych środowiskowych. Jeśli chcesz korzystać 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ędnej względem katalogu roboczego zadania) lub użyć zmiennej środowiskowej udostępnionej w usłudze Batch (https://docs.microsoft.com/en-us/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 tego ustawienia wszystkie katalogi cyklicznie poniżej AZ_BATCH_NODE_ROOT_DIR (katalog główny katalogów 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 z obrazu lub jeśli zadanie przygotowania zadania nie zostało ukończone (np. z powodu ponownego uruchomienia podczas uruchamiania zadania). W związku z tym zawsze należy napisać zadanie przygotowania zadania, aby było idempotentne i zachowywać się poprawnie, jeśli jest uruchamiane wiele razy. Wartością domyślną jest true.

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. Pliki wymienione w tym elemecie 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 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

Określa, 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 zostanie zakończone z kodem zakończenia 0. Jeśli wartość true i zadanie przygotowania zadania zakończy się niepowodzeniem w węźle, usługa Batch ponowi próbę zadania podrzędnego przygotowania zadania do maksymalnej liczby ponownych prób (jak określono w elemecie ograniczeń). Jeśli zadanie nadal nie zostało ukończone pomyślnie po wszystkich ponownych próbach, usługa Batch nie będzie planować zadań zadania podrzędnego 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 podrzędne 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ścią domyślną jest 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 rozszerzanie zmiennych środowiskowych. Jeśli chcesz korzystać 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ędnej względem katalogu roboczego zadania) lub użyć zmiennej środowiskowej udostępnionej w usłudze Batch (https://docs.microsoft.com/en-us/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?: TaskConstraints

Wartość właściwości

containerSettings

Ustawienia kontenera, w którym jest uruchamiane zadanie przygotowania zadania. Po określeniu tego ustawienia wszystkie katalogi cyklicznie poniżej AZ_BATCH_NODE_ROOT_DIR (katalog główny katalogów 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?: TaskContainerSettings

Wartość właściwości

environmentSettings

Lista ustawień zmiennych środowiskowych dla zadania przygotowania zadania.

environmentSettings?: EnvironmentSetting[]

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 z obrazu lub jeśli zadanie przygotowania zadania nie zostało ukończone (np. z powodu ponownego uruchomienia podczas uruchamiania zadania). W związku z tym zawsze należy napisać zadanie przygotowania zadania, aby było idempotentne i zachowywać się poprawnie, jeśli jest uruchamiane wiele razy. Wartością domyślną jest 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 tym elemecie 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 ResourceFiles. Można to osiągnąć przy użyciu plików .zip, pakietów aplikacji lub kontenerów platformy Docker.

resourceFiles?: ResourceFile[]

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?: UserIdentity

Wartość właściwości

waitForSuccess

Określa, 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 zostanie zakończone z kodem zakończenia 0. Jeśli wartość true i zadanie przygotowania zadania zakończy się niepowodzeniem w węźle, usługa Batch ponowi próbę zadania podrzędnego przygotowania zadania do maksymalnej liczby ponownych prób (jak określono w elemecie ograniczeń). Jeśli zadanie nadal nie zostało ukończone pomyślnie po wszystkich ponownych próbach, usługa Batch nie będzie planować zadań zadania podrzędnego 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 podrzędne 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ścią domyślną jest true.

waitForSuccess?: boolean

Wartość właściwości

boolean