BatchTask 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łaściwości

affinityInfo

Wskazówka dotycząca lokalizacji, którą usługa Batch może wykorzystać do wyboru węzła obliczeniowego, na którym rozpocząć nowe zadanie.

applicationPackageReferences

Lista pakietów, które usługa wsadowa wdroży na węzeł obliczeniowym przed uruchomieniem linii poleceń. Pakiety aplikacji są pobierane i wdrażane do współdzielonego katalogu, a nie do katalogu roboczego Task. Dlatego jeśli na węźle znajduje się już odwołany pakiet, który jest aktualny, nie jest ponownie pobierany; używana jest istniejąca kopia na węźle obliczeniowym. Jeśli odwołany pakiet nie może zostać zainstalowany, na przykład dlatego, że pakiet został usunięty lub pobranie się nie powiodło, zadanie nie udaje się.

commandLine

Linia poleceń Zadania. Dla zadań wieloinstancjowych wiersz poleceń jest wykonywany jako zadanie główne, po zakończeniu wykonania wiersza poleceń głównych i wszystkich podzadań. 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, powinieneś wywołać powłokę w wierszu poleceń, na przykład używając "cmd /c MyCommand" w Windows lub "/bin/sh -c MyCommand" w Linuksie. 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 wykonawcze, które dotyczą tego zadania.

containerSettings

Ustawienia kontenera, pod którym uruchamia się zadanie. Jeśli pula uruchamiająca to zadanie ma ustawioną containerConfiguration, to również musi być ustawiona. Jeśli pula, która wykona to zadanie, nie ma ustawionej containerConfiguration, nie może być ustawiona. Gdy to zostanie określone, wszystkie katalogi rekurencyjnie poniżej AZ_BATCH_NODE_ROOT_DIR (korzeń katalogów Azure Batch na węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe Task są mapowane do kontenera, a wiersz poleceń Task jest wykonywany w kontenerze. Pliki wytworzone w kontenerze poza AZ_BATCH_NODE_ROOT_DIR mogą nie być odzwierciedlone na dysku hosta, co oznacza, że API plików wsadowych nie będą miały dostępu do tych plików.

creationTime

Czas utworzenia zadania.

dependsOn

Zadania, od których zależy to zadanie. To zadanie nie zostanie zaplanowane, dopóki wszystkie zadania, od których zależy, nie zostaną pomyślnie ukończone. Jeśli któreś z tych zadań nie powiodę i wyczerpie liczbę powtórek, to zadanie nigdy nie zostanie zaplanowane.

displayName

Nazwa wyświetlana dla zadania. Nazwa wyświetlana nie musi być unikatowa i może zawierać znaki Unicode o maksymalnej długości 1024.

environmentSettings

Lista ustawień zmiennych środowiskowych dla zadania.

eTag

E-Ag zadania. Jest to nieprzezroczystym ciągiem. Możesz go użyć, aby wykryć, czy zadanie zmieniło się między żądaniami. W szczególności możesz przekazać ETag podczas aktualizacji zadania, aby określić, że zmiany mają wejść w życie tylko wtedy, gdy nikt inny nie zmodyfikował zadania w międzyczasie.

executionInfo

Informacje o realizacji zadania.

exitConditions

Jak usługa wsadowa powinna reagować po zakończeniu zadania.

id

Ciąg znaków, który jednoznacznie identyfikuje Zadanie w obrębie 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.

lastModified

Ostatni zmodyfikowany czas zadania.

multiInstanceSettings

Obiekt wskazujący, że zadanie jest zadaniem wieloinstancyjnym i zawiera informacje o tym, jak wykonać zadanie wieloinstancyjne.

nodeInfo

Informacje o węźle obliczeniowym, na którym działało zadanie.

outputFiles

Lista plików, które usługa wsadowa zagra z węzła obliczeniowego po uruchomieniu linii poleceń. W przypadku zadań wieloinstancjowych pliki będą przesyłane wyłącznie z węzła obliczeniowego, na którym wykonywane jest główne zadanie.

previousState

Poprzedni stan Zadania. Ta właściwość nie jest ustalana, jeśli zadanie znajduje się w początkowym stanie aktywnym.

previousStateTransitionTime

Czas, w którym zadanie weszło w poprzedni stan. Ta właściwość nie jest ustalana, jeśli zadanie znajduje się w początkowym stanie aktywnym.

requiredSlots

Liczba slotów harmonogramowych wymaganych do wykonania zadania. Wartością domyślną jest 1. Zadanie może być zaplanowane do uruchomienia na węźle obliczeniowym tylko wtedy, gdy węzeł ma wystarczająco dużo wolnych slotów do planowania. Dla zadań wieloinstancjowych musi to być 1.

resourceFiles

Lista plików, które usługa Batch pobierze do węzła obliczeniowego przed uruchomieniem wiersza polecenia. W przypadku zadań wieloinstancjowych pliki zasobów będą pobierane tylko do węzła obliczeniowego, na którym wykonywane jest główne zadanie. 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.

state

Obecny stan Zadania.

stateTransitionTime

Czas, w którym zadanie weszło w obecny stan.

taskStatistics

Statystyki zużycia zasobów dla zadania.

url

URL zadania.

userIdentity

Tożsamość użytkownika, pod którą wykonywane jest zadanie. Jeśli zostanie pominięte, Zadanie działa jako użytkownik nieadministracyjny, unikalny dla Zadania.

Szczegóły właściwości

affinityInfo

Wskazówka dotycząca lokalizacji, którą usługa Batch może wykorzystać do wyboru węzła obliczeniowego, na którym rozpocząć nowe zadanie.

affinityInfo?: BatchAffinityInfo

Wartość właściwości

applicationPackageReferences

Lista pakietów, które usługa wsadowa wdroży na węzeł obliczeniowym przed uruchomieniem linii poleceń. Pakiety aplikacji są pobierane i wdrażane do współdzielonego katalogu, a nie do katalogu roboczego Task. Dlatego jeśli na węźle znajduje się już odwołany pakiet, który jest aktualny, nie jest ponownie pobierany; używana jest istniejąca kopia na węźle obliczeniowym. Jeśli odwołany pakiet nie może zostać zainstalowany, na przykład dlatego, że pakiet został usunięty lub pobranie się nie powiodło, zadanie nie udaje się.

applicationPackageReferences?: BatchApplicationPackageReference[]

Wartość właściwości

commandLine

Linia poleceń Zadania. Dla zadań wieloinstancjowych wiersz poleceń jest wykonywany jako zadanie główne, po zakończeniu wykonania wiersza poleceń głównych i wszystkich podzadań. 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, powinieneś wywołać powłokę w wierszu poleceń, na przykład używając "cmd /c MyCommand" w Windows lub "/bin/sh -c MyCommand" w Linuksie. 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 wykonawcze, które dotyczą tego zadania.

constraints?: BatchTaskConstraints

Wartość właściwości

containerSettings

Ustawienia kontenera, pod którym uruchamia się zadanie. Jeśli pula uruchamiająca to zadanie ma ustawioną containerConfiguration, to również musi być ustawiona. Jeśli pula, która wykona to zadanie, nie ma ustawionej containerConfiguration, nie może być ustawiona. Gdy to zostanie określone, wszystkie katalogi rekurencyjnie poniżej AZ_BATCH_NODE_ROOT_DIR (korzeń katalogów Azure Batch na węźle) są mapowane do kontenera, wszystkie zmienne środowiskowe Task są mapowane do kontenera, a wiersz poleceń Task jest wykonywany w kontenerze. Pliki wytworzone w kontenerze poza AZ_BATCH_NODE_ROOT_DIR mogą nie być odzwierciedlone na dysku hosta, co oznacza, że API plików wsadowych nie będą miały dostępu do tych plików.

containerSettings?: BatchTaskContainerSettings

Wartość właściwości

creationTime

Czas utworzenia zadania.

creationTime: Date

Wartość właściwości

Date

dependsOn

Zadania, od których zależy to zadanie. To zadanie nie zostanie zaplanowane, dopóki wszystkie zadania, od których zależy, nie zostaną pomyślnie ukończone. Jeśli któreś z tych zadań nie powiodę i wyczerpie liczbę powtórek, to zadanie nigdy nie zostanie zaplanowane.

dependsOn?: BatchTaskDependencies

Wartość właściwości

displayName

Nazwa wyświetlana dla zadania. Nazwa wyświetlana nie musi być unikatowa i może zawierać znaki Unicode o maksymalnej długości 1024.

displayName?: string

Wartość właściwości

string

environmentSettings

Lista ustawień zmiennych środowiskowych dla zadania.

environmentSettings?: EnvironmentSetting[]

Wartość właściwości

eTag

E-Ag zadania. Jest to nieprzezroczystym ciągiem. Możesz go użyć, aby wykryć, czy zadanie zmieniło się między żądaniami. W szczególności możesz przekazać ETag podczas aktualizacji zadania, aby określić, że zmiany mają wejść w życie tylko wtedy, gdy nikt inny nie zmodyfikował zadania w międzyczasie.

eTag: string

Wartość właściwości

string

executionInfo

Informacje o realizacji zadania.

executionInfo?: BatchTaskExecutionInfo

Wartość właściwości

exitConditions

Jak usługa wsadowa powinna reagować po zakończeniu zadania.

exitConditions?: ExitConditions

Wartość właściwości

id

Ciąg znaków, który jednoznacznie identyfikuje Zadanie w obrębie 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.

id: string

Wartość właściwości

string

lastModified

Ostatni zmodyfikowany czas zadania.

lastModified: Date

Wartość właściwości

Date

multiInstanceSettings

Obiekt wskazujący, że zadanie jest zadaniem wieloinstancyjnym i zawiera informacje o tym, jak wykonać zadanie wieloinstancyjne.

multiInstanceSettings?: MultiInstanceSettings

Wartość właściwości

nodeInfo

Informacje o węźle obliczeniowym, na którym działało zadanie.

nodeInfo?: BatchNodeInfo

Wartość właściwości

outputFiles

Lista plików, które usługa wsadowa zagra z węzła obliczeniowego po uruchomieniu linii poleceń. W przypadku zadań wieloinstancjowych pliki będą przesyłane wyłącznie z węzła obliczeniowego, na którym wykonywane jest główne zadanie.

outputFiles?: OutputFile[]

Wartość właściwości

previousState

Poprzedni stan Zadania. Ta właściwość nie jest ustalana, jeśli zadanie znajduje się w początkowym stanie aktywnym.

previousState?: BatchTaskState

Wartość właściwości

previousStateTransitionTime

Czas, w którym zadanie weszło w poprzedni stan. Ta właściwość nie jest ustalana, jeśli zadanie znajduje się w początkowym stanie aktywnym.

previousStateTransitionTime?: Date

Wartość właściwości

Date

requiredSlots

Liczba slotów harmonogramowych wymaganych do wykonania zadania. Wartością domyślną jest 1. Zadanie może być zaplanowane do uruchomienia na węźle obliczeniowym tylko wtedy, gdy węzeł ma wystarczająco dużo wolnych slotów do planowania. Dla zadań wieloinstancjowych musi to być 1.

requiredSlots?: 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. W przypadku zadań wieloinstancjowych pliki zasobów będą pobierane tylko do węzła obliczeniowego, na którym wykonywane jest główne zadanie. 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?: ResourceFile[]

Wartość właściwości

state

Obecny stan Zadania.

state: BatchTaskState

Wartość właściwości

stateTransitionTime

Czas, w którym zadanie weszło w obecny stan.

stateTransitionTime: Date

Wartość właściwości

Date

taskStatistics

Statystyki zużycia zasobów dla zadania.

taskStatistics?: BatchTaskStatistics

Wartość właściwości

url

URL zadania.

url: string

Wartość właściwości

string

userIdentity

Tożsamość użytkownika, pod którą wykonywane jest zadanie. Jeśli zostanie pominięte, Zadanie działa jako użytkownik nieadministracyjny, unikalny dla Zadania.

userIdentity?: UserIdentity

Wartość właściwości