JobPreparationTask Klasa
Zadanie przygotowania zadania do uruchomienia przed wszystkimi zadaniami zadania w dowolnym węźle obliczeniowym.
Możesz użyć przygotowania zadania, aby przygotować węzeł do uruchamiania zadań 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 typowe pliki zasobów do udostępnionej lokalizacji w węźle. (AZ_BATCH_NODE_ROOT_DIRshared) 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 zamknięciem 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 do 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 zaplanowanie jakiegokolwiek innego zadania zadania, jeśli ponownie uruchom polecenieOnNodeRebootAfterSuccess 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ładowe operacje odzyskiwania obejmują (ale nie tylko) po ponownym uruchomieniu węzła w złej kondycji lub zniknięciu węzła obliczeniowego z powodu awarii hosta. Ponawianie prób z powodu operacji odzyskiwania jest niezależne i nie są liczone względem wartości maxTaskRetryCount. Nawet jeśli wartość 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ć przerwanie i ponowne uruchomienie bez spowodowania uszkodzenia lub zduplikowania danych. Najlepszym rozwiązaniem dla długotrwałych zadań jest użycie jakiejś formy tworzenia punktów kontrolnych.
Aby wysyłać na platformę Azure wszystkie wymagane parametry, należy wypełnić wszystkie wymagane parametry.
- Dziedziczenie
-
JobPreparationTask
Konstruktor
JobPreparationTask(*, command_line: str, id: str = None, container_settings=None, resource_files=None, environment_settings=None, constraints=None, wait_for_success: bool = None, user_identity=None, rerun_on_node_reboot_after_success: bool = None, **kwargs)
Parametry
- id
- str
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).
- command_line
- str
Wymagane. 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).
- container_settings
- TaskContainerSettings
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.
- resource_files
- list[ResourceFile]
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.
- environment_settings
- list[EnvironmentSetting]
- constraints
- TaskConstraints
Ograniczenia, które mają zastosowanie do zadania przygotowania zadania.
- wait_for_success
- bool
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.
- user_identity
- 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.
- rerun_on_node_reboot_after_success
- bool
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.
Metody
as_dict |
Zwróć dykt, który może być JSONify przy użyciu pliku json.dump. Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru: Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie. Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku. Zobacz trzy przykłady w tym pliku:
Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True. |
deserialize |
Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu. |
enable_additional_properties_sending | |
from_dict |
Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model. Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu. Jest to alias as_dict(full_restapi_key_transformer, keep_readonly=False). Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True. |
validate |
Zweryfikuj ten model cyklicznie i zwróć listę wartości ValidationError. |
as_dict
Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.
Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:
Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.
Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.
Zobacz trzy przykłady w tym pliku:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parametry
- key_transformer
- <xref:function>
Funkcja transformatora klucza.
- keep_readonly
Zwraca
Obiekt zgodny z dyktacją JSON
Typ zwracany
deserialize
Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.
deserialize(data, content_type=None)
Parametry
- content_type
- str
Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.
Zwraca
Wystąpienie tego modelu
Wyjątki
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.
Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parametry
- content_type
- str
Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.
- key_extractors
Zwraca
Wystąpienie tego modelu
Wyjątki
is_xml_model
is_xml_model()
serialize
Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.
Jest to alias as_dict(full_restapi_key_transformer, keep_readonly=False).
Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parametry
Zwraca
Obiekt zgodny z dyktacją JSON
Typ zwracany
validate
Zweryfikuj ten model cyklicznie i zwróć listę wartości ValidationError.
validate()
Zwraca
Lista błędów weryfikacji
Typ zwracany
Azure SDK for Python