Share via


JobPreparationTask Osztály

Feladat-előkészítési feladat, amely egy adott számítási csomóponton a feladat tevékenységei előtt fut.

A Feladat-előkészítés használatával előkészíthet egy csomópontot a feladat tevékenységeinek futtatására. A feladat-előkészítés során gyakran végrehajtott tevékenységek a következők: A feladat összes tevékenysége által használt gyakori erőforrásfájlok letöltése. A feladat-előkészítési feladat letöltheti ezeket a gyakori erőforrásfájlokat a csomópont megosztott helyére. (AZ_BATCH_NODE_ROOT_DIRshared) vagy helyi szolgáltatás indítása a csomóponton, hogy a feladat összes feladata kommunikálni tudjon vele. Ha a feladat-előkészítési feladat meghiúsul (azaz kimeríti az újrapróbálkozások számát, mielőtt kilépne a 0-s kilépési kóddal), a Batch nem futtatja a feladat feladatait a csomóponton. A számítási csomópont nem jogosult a feladat feladatainak futtatására, amíg újra nem épül. A számítási csomópont aktív marad, és más feladatokhoz is használható. A feladat-előkészítési tevékenység többször is futtatható ugyanazon a csomóponton. Ezért meg kell írnia a feladat-előkészítési feladatot az újravégrehajtás kezeléséhez. Ha a csomópont újraindul, a feladat-előkészítési feladat újra fut a számítási csomóponton a feladat bármely más tevékenységének ütemezése előtt, ha az újrafuttatása Igaz, vagy ha a feladat-előkészítési feladat korábban nem fejeződött be. Ha a csomópontot újragondolják, a feladat-előkészítési tevékenység újra lefut a feladat bármely tevékenységének ütemezése előtt. A Batch újra megkísérli a Feladatokat, amikor egy helyreállítási művelet aktiválódik egy csomóponton. A helyreállítási műveletek közé tartoznak például (de nem kizárólagosan), ha egy nem kifogástalan állapotú csomópont újraindul, vagy egy számítási csomópont a gazdagép hibája miatt eltűnt. A helyreállítási műveletek miatti újrapróbálkozások függetlenek a függvényétől, és nem számítanak bele a maxTaskRetryCount értékbe. Még ha a maxTaskRetryCount is 0, egy helyreállítási művelet miatt belső újrapróbálkozhat. Emiatt minden tevékenységnek idempotensnek kell lennie. Ez azt jelenti, hogy a feladatoknak tűrni kell a megszakítást és az újraindítást anélkül, hogy sérülést vagy duplikált adatokat okoznak. A hosszú ideig futó feladatok esetében az ajánlott eljárás az ellenőrzőpontok valamilyen formájának használata.

Az Azure-ba való küldéshez minden szükséges paramétert fel kell tölteni.

Öröklődés
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)

Paraméterek

id
str
Kötelező

Az azonosító tartalmazhat alfanumerikus karakterek tetszőleges kombinációját, beleértve a kötőjeleket és az aláhúzásokat, és legfeljebb 64 karaktert tartalmazhat. Ha nem adja meg ezt a tulajdonságot, a Batch szolgáltatás a "jobpreparation" alapértelmezett értékét rendeli hozzá. A feladatban lévő többi tevékenység nem rendelkezhet ugyanazzal az azonosítóval, mint a feladat-előkészítési tevékenység. Ha ugyanazzal az azonosítóval próbál elküldeni egy feladatot, a Batch szolgáltatás elutasítja a TaskIdSameAsJobPreparationTask hibakódú kérést; Ha közvetlenül a REST API-t hívja meg, a HTTP-állapotkód 409 (Ütközés).

command_line
str
Kötelező

Kötelező. A parancssor nem rendszerhéj alatt fut, ezért nem tudja kihasználni a rendszerhéj funkcióit, például a környezeti változók bővítését. Ha ki szeretné használni az ilyen funkciókat, hívja meg a parancssorban a rendszerhéjat, például a windowsos "cmd /c MyCommand" vagy a "/bin/sh -c MyCommand" parancsot Linuxon. Ha a parancssor fájlelérési utakra hivatkozik, relatív elérési utat kell használnia (a Feladat munkakönyvtárához képest), vagy a Batch által megadott környezeti változót (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

container_settings
TaskContainerSettings
Kötelező

Annak a tárolónak a beállításai, amelyek alatt a feladat-előkészítési feladat fut. Ha ez meg van adva, a AZ_BATCH_NODE_ROOT_DIR alatti összes címtárat (a csomóponton lévő Azure Batch címtárak gyökerét) a rendszer a tárolóba rendeli, a tevékenységkörnyezet összes változója a tárolóba van leképezve, a Feladat parancssor pedig a tárolóban lesz végrehajtva. Előfordulhat, hogy a tárolóban a AZ_BATCH_NODE_ROOT_DIR kívül előállított fájlok nem jelennek meg a gazdalemezen, ami azt jelenti, hogy a Batch-fájl API-k nem fognak tudni hozzáférni ezekhez a fájlokhoz.

resource_files
list[ResourceFile]
Kötelező

Az elem alatt felsorolt fájlok a tevékenység munkakönyvtárában találhatók. Az erőforrásfájlok listájának maximális mérete van. A maximális méret túllépésekor a kérés sikertelen lesz, a válasz hibakódja pedig RequestEntityTooLarge lesz. Ha ez történik, a ResourceFiles gyűjteményének méretét csökkenteni kell. Ez .zip fájlok, alkalmazáscsomagok vagy Docker-tárolók használatával érhető el.

environment_settings
list[EnvironmentSetting]
Kötelező
constraints
TaskConstraints
Kötelező

A feladat-előkészítési tevékenységre vonatkozó korlátozások.

wait_for_success
bool
Kötelező

Azt jelzi, hogy a Batch szolgáltatásnak meg kell-e várnia, amíg a feladat-előkészítési feladat sikeresen befejeződik, mielőtt a számítási csomóponton ütemezni szeretné a feladat egyéb feladatait. A feladat-előkészítési feladat sikeresen befejeződött, ha a 0-s kilépési kóddal lép ki. Ha igaz, és a feladat-előkészítési feladat meghiúsul egy csomóponton, a Batch szolgáltatás újrapróbálkozásokat végez a feladat-előkészítési feladattal a maximális újrapróbálkozások számának megfelelően (a kényszerek elemben megadottak szerint). Ha a tevékenység az újrapróbálkozások után sem fejeződött be sikeresen, akkor a Batch szolgáltatás nem ütemezi a feladat tevékenységeit a csomópontra. A csomópont aktív marad, és jogosult más feladatok feladatainak futtatására. Ha hamis, a Batch szolgáltatás nem várja meg, amíg a feladat-előkészítési feladat befejeződik. Ebben az esetben a feladat más tevékenységei megkezdhetik a végrehajtást a számítási csomóponton, miközben a feladat-előkészítési feladat még fut; és még ha a feladat-előkészítési feladat meghiúsul is, az új tevékenységek továbbra is ütemezve lesznek a számítási csomóponton. Az alapértelmezett érték az igaz.

user_identity
UserIdentity
Kötelező

Az a felhasználói identitás, amely alatt a feladat-előkészítési feladat fut. Ha nincs megadva, a feladat nem rendszergazdai felhasználóként fut, amely egyedi a Windows számítási csomópontokon lévő feladathoz, vagy a Linux számítási csomópontokon lévő készlethez tartozó nem rendszergazdai felhasználóként.

rerun_on_node_reboot_after_success
bool
Kötelező

Azt jelzi, hogy a Batch szolgáltatásnak újra kell-e futtatnia a feladat-előkészítési feladatot a számítási csomópont újraindítása után. A feladat-előkészítési feladat mindig újrafut, ha egy számítási csomópontot újraképeztek, vagy ha a feladat-előkészítési feladat nem fejeződött be (például azért, mert az újraindítás a tevékenység futása közben történt). Ezért mindig meg kell írnia egy feladat-előkészítési feladatot, hogy idempotens legyen, és helyesen viselkedjen, ha többször fut. Az alapértelmezett érték az igaz.

Metódusok

as_dict

A json.dump használatával JSONify formátumú diktált értéket ad vissza.

A speciális használat opcionálisan visszahívást is használhat paraméterként:

A kulcs a Pythonban használt attribútumnév. Attr_desc egy metaadat-diktálás. Jelenleg az msrest típust és a RestAPI kódolt kulcsot tartalmazó "típust" tartalmazza. Az érték az objektum aktuális értéke.

A visszaadott sztring a kulcs szerializálására szolgál. Ha a visszatérési típus lista, akkor ez hierarchikus eredménydiktátumnak minősül.

Tekintse meg a fájl három példáját:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Ha XML-szerializálást szeretne, a kwargs is_xml=True értéket is átadhatja.

deserialize

Elemezhet egy str értéket a RestAPI szintaxissal, és visszaad egy modellt.

enable_additional_properties_sending
from_dict

Egy diktálás elemzése adott kulcselszívó használatával egy modellt ad vissza.

Alapértelmezés szerint vegye figyelembe a kulcselszívókat (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor és last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Adja vissza a modellből az Azure-ba küldendő JSON-t.

Ez a as_dict(full_restapi_key_transformer, keep_readonly=Hamis) alias.

Ha XML-szerializálást szeretne, átadhatja a kwargs is_xml=True értéket.

validate

Ellenőrizze a modellt rekurzív módon, és adja vissza a ValidationError listáját.

as_dict

A json.dump használatával JSONify formátumú diktált értéket ad vissza.

A speciális használat opcionálisan visszahívást is használhat paraméterként:

A kulcs a Pythonban használt attribútumnév. Attr_desc egy metaadat-diktálás. Jelenleg az msrest típust és a RestAPI kódolt kulcsot tartalmazó "típust" tartalmazza. Az érték az objektum aktuális értéke.

A visszaadott sztring a kulcs szerializálására szolgál. Ha a visszatérési típus lista, akkor ez hierarchikus eredménydiktátumnak minősül.

Tekintse meg a fájl három példáját:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Ha XML-szerializálást szeretne, a kwargs is_xml=True értéket is átadhatja.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Paraméterek

key_transformer
<xref:function>

Egy kulcsátalakító függvény.

keep_readonly
alapértelmezett érték: True

Válaszok

Diktátum JSON-kompatibilis objektum

Visszatérési típus

deserialize

Elemezhet egy str értéket a RestAPI szintaxissal, és visszaad egy modellt.

deserialize(data, content_type=None)

Paraméterek

data
str
Kötelező

RestAPI-struktúrát használó struktúra. JSON alapértelmezés szerint.

content_type
str
alapértelmezett érték: None

JSON alapértelmezés szerint állítsa be az alkalmazást/xml-t, ha XML.

Válaszok

A modell egy példánya

Kivételek

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Egy diktálás elemzése adott kulcselszívó használatával egy modellt ad vissza.

Alapértelmezés szerint vegye figyelembe a kulcselszívókat (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor és last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Paraméterek

data
dict
Kötelező

Egy restAPI-struktúrát használó diktálás

content_type
str
alapértelmezett érték: None

JSON alapértelmezés szerint állítsa be az alkalmazást/xml-t, ha XML.

key_extractors
alapértelmezett érték: None

Válaszok

A modell egy példánya

Kivételek

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Adja vissza a modellből az Azure-ba küldendő JSON-t.

Ez a as_dict(full_restapi_key_transformer, keep_readonly=Hamis) alias.

Ha XML-szerializálást szeretne, átadhatja a kwargs is_xml=True értéket.

serialize(keep_readonly=False, **kwargs)

Paraméterek

keep_readonly
bool
alapértelmezett érték: False

Ha szerializálni szeretné az olvasható attribútumokat

Válaszok

Diktátum JSON-kompatibilis objektum

Visszatérési típus

validate

Ellenőrizze a modellt rekurzív módon, és adja vissza a ValidationError listáját.

validate()

Válaszok

Az érvényesítési hiba listája

Visszatérési típus