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
| affinity |
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. |
| application |
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ę. |
| command |
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. |
| container |
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. |
| creation |
Czas utworzenia zadania. |
| depends |
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. |
| display |
Nazwa wyświetlana dla zadania. Nazwa wyświetlana nie musi być unikatowa i może zawierać znaki Unicode o maksymalnej długości 1024. |
| environment |
Lista ustawień zmiennych środowiskowych dla zadania. |
| e |
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. |
| execution |
Informacje o realizacji zadania. |
| exit |
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. |
| last |
Ostatni zmodyfikowany czas zadania. |
| multi |
Obiekt wskazujący, że zadanie jest zadaniem wieloinstancyjnym i zawiera informacje o tym, jak wykonać zadanie wieloinstancyjne. |
| node |
Informacje o węźle obliczeniowym, na którym działało zadanie. |
| output |
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. |
| previous |
Poprzedni stan Zadania. Ta właściwość nie jest ustalana, jeśli zadanie znajduje się w początkowym stanie aktywnym. |
| previous |
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. |
| required |
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. |
| resource |
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. |
| state |
Czas, w którym zadanie weszło w obecny stan. |
| task |
Statystyki zużycia zasobów dla zadania. |
| url | URL zadania. |
| user |
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
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