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
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ő. 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 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]
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]
- wait_for_success
- bool
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
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
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:
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
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
- content_type
- str
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
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
- content_type
- str
JSON alapértelmezés szerint állítsa be az alkalmazást/xml-t, ha XML.
- key_extractors
Válaszok
A modell egy példánya
Kivételek
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
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
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: