Megosztás a következőn keresztül:


JobManagerTask Osztály

A Feladatkezelői tevékenység részleteit adja meg.

A Feladatkezelő tevékenység automatikusan elindul a feladat létrehozásakor. A Batch szolgáltatás megkísérli ütemezni a Feladatkezelő tevékenységet a feladat bármely más tevékenysége előtt. Készlet zsugorításakor a Batch szolgáltatás megpróbálja megőrizni azokat a csomópontokat, amelyeken a Feladatkezelői feladatok a lehető leghosszabb ideig futnak (azaz a "normál" feladatokat futtató számítási csomópontok el lesznek távolítva a Feladatkezelő-feladatokat futtató számítási csomópontok előtt). Ha egy feladatkezelői feladat meghiúsul, és újra kell indítani, a rendszer megpróbálja a legmagasabb prioritással ütemezni. Ha nincsenek elérhető üresjárati számítási csomópontok, a rendszer leállíthatja a készlet egyik futó feladatát, és visszaküldheti azt az üzenetsorba, hogy helyet biztosíthasson a Feladatkezelő tevékenység újraindításának. Vegye figyelembe, hogy az egyik feladat feladatkezelői tevékenységének nincs prioritása a többi feladat tevékenységével szemben. A feladatok között csak a feladatszintű prioritások figyelhetők meg. Ha például a 0 prioritású feladat egyik feladatkezelőjét újra kell indítani, az nem fogja az 1. prioritású feladat feladatait elmozdítani. 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
JobManagerTask

Konstruktor

JobManagerTask(*, id: str, command_line: str, display_name: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, constraints=None, required_slots: int = None, kill_job_on_completion: bool = None, user_identity=None, run_exclusive: bool = None, application_package_references=None, authentication_token_settings=None, allow_low_priority_node: bool = None, **kwargs)

Paraméterek

id
str
Kötelező

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.

display_name
str
Kötelező

Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságú Unicode-karaktereket tartalmazhat.

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 Feladatkezelő feladat fut. Ha a feladatot futtató készlet tárolókonfigurálási készlettel rendelkezik, ezt is be kell állítani. Ha a feladatot futtató készlet nem rendelkezik tárolókkonfigurálási beállításkészlettel, ezt nem szabad beállítani. 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.

output_files
list[OutputFile]
Kötelező

Többpéldányos feladatok esetén a fájlok csak abból a számítási csomópontból lesznek feltöltve, amelyen az elsődleges tevékenység végrehajtása történik.

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

A Feladatkezelő tevékenységre vonatkozó korlátozások.

required_slots
int
Kötelező

A tevékenység által futtatandó ütemezési pontok száma. Az alapértelmezett érték 1. A tevékenységek csak akkor ütemezhetők egy számítási csomóponton való futtatásra, ha a csomópont elegendő ingyenes ütemezési tárolóhellyel rendelkezik. Többpéldányos feladatok esetén ez a tulajdonság nem támogatott, és nem adható meg.

kill_job_on_completion
bool
Kötelező

Azt jelzi, hogy a Feladatkezelő feladat befejezése a teljes feladat befejezését jelzi-e. Ha igaz, a Feladatkezelői feladat befejeződésekor a Batch szolgáltatás befejezettként jelöli meg a feladatot. Ha a feladatok jelenleg is futnak (a feladatkiadás kivételével), a feladatok leállnak. Ha hamis, a Feladatkezelői tevékenység befejezése nincs hatással a Feladat állapotára. Ebben az esetben vagy az onAllTasksComplete attribútumot kell használnia a feladat leállításához, vagy egy ügyfélnek vagy felhasználónak explicit módon le kell állítania a feladatot. Ilyen például, ha a Feladatkezelő létrehoz egy feladatkészletet, de nem vesz részt további szerepkörökben a végrehajtásban. Az alapértelmezett érték az igaz. Ha az onAllTasksComplete és az onTaskFailure attribútumokat használja a feladat élettartamának szabályozásához, és a Feladatkezelő feladattal csak a feladathoz tartozó tevékenységeket hozza létre (a folyamat figyeléséhez nem), akkor fontos, hogy a killJobOnCompletion értéket false (hamis) értékre állítsa.

user_identity
UserIdentity
Kötelező

Az a felhasználói identitás, amely alatt a Feladatkezelő feladat fut. Ha nincs megadva, a tevékenység nem rendszergazdai felhasználóként fut, amely egyedi a tevékenységhez.

run_exclusive
bool
Kötelező

Azt jelzi, hogy a Feladatkezelő tevékenységhez a számítási csomópont kizárólagos használata szükséges-e, ahol fut. Ha igaz, nem futnak más feladatok ugyanazon a csomóponton mindaddig, amíg a Feladatkezelő fut. Ha hamis, akkor más feladatok is futtathatók párhuzamosan a Feladatkezelővel egy számítási csomóponton. A Feladatkezelő tevékenység általában a számítási csomópont egyidejű tevékenységkorlátjával számol, ezért ez csak akkor releváns, ha a számítási csomópont több egyidejű tevékenységet engedélyez. Az alapértelmezett érték az igaz.

application_package_references
list[ApplicationPackageReference]
Kötelező

Az alkalmazáscsomagokat a rendszer egy megosztott könyvtárba tölti le és helyezi üzembe, nem pedig a Feladat munkakönyvtárba. Ezért ha egy hivatkozott alkalmazáscsomag már megtalálható a számítási csomóponton, és naprakész, akkor a rendszer nem tölti le újra; a számítási csomóponton található meglévő példányt használja a rendszer. Ha egy hivatkozott alkalmazáscsomag nem telepíthető, például azért, mert a csomagot törölték, vagy mert a letöltés sikertelen volt, a feladat meghiúsul.

authentication_token_settings
AuthenticationTokenSettings
Kötelező

Egy hitelesítési jogkivonat beállításai, amelyeket a feladat a Batch-szolgáltatásműveletek végrehajtásához használhat. Ha ez a tulajdonság be van állítva, a Batch szolgáltatás egy hitelesítési jogkivonatot biztosít a feladatnak, amely a Batch-szolgáltatás műveleteinek hitelesítéséhez használható fiókhozzáférési kulcs megkövetelése nélkül. A jogkivonatot a AZ_BATCH_AUTHENTICATION_TOKEN környezeti változó biztosítja. A tevékenység által a jogkivonat használatával végrehajtott műveletek a beállításoktól függenek. Egy tevékenység például feladatengedélyeket kérhet, hogy más tevékenységeket is hozzáadhasson a feladathoz, vagy ellenőrizze a feladat vagy a feladat alatti egyéb tevékenységek állapotát.

allow_low_priority_node
bool
Kötelező

Azt jelzi, hogy a Feladatkezelő feladat futtatható-e egy kihasználatlan/alacsony prioritású számítási csomóponton. 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-t a RestAPI szintaxissal, és visszaad egy modellt.

enable_additional_properties_sending
from_dict

A diktálás adott kulcselszívóval történő elemzése modell visszaadása.

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

A modellből az Azure-ba küldendő JSON-t adja vissza.

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-t 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

A JSON alapértelmezés szerint az alkalmazás/xml beállítása XML esetén.

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

A diktálás adott kulcselszívóval történő elemzése modell visszaadása.

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

A JSON alapértelmezés szerint az alkalmazás/xml beállítása XML esetén.

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

A modellből az Azure-ba küldendő JSON-t adja vissza.

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

A dict 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