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ő. 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
Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságú Unicode-karaktereket tartalmazhat.
- command_line
- str
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
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]
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]
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]
- required_slots
- int
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
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
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
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]
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
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
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:
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
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
- content_type
- str
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
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
- content_type
- str
A JSON alapértelmezés szerint az alkalmazás/xml beállítása XML esetén.
- key_extractors
Válaszok
A modell egy példánya
Kivételek
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
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
Azure SDK for Python
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: