Megosztás:


BatchJobPreparationTaskOutput interface

Feladat-előkészítési feladat, amelyet a feladat bármely tevékenysége előtt futtatni kell egy adott számítási csomóponton. A feladat-előkészítéssel előkészíthet egy csomópontot a feladat feladatainak 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 feladata á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_DIR\megosztott), vagy elindíthat egy helyi szolgáltatást 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ási 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 feladat többször is futtatható ugyanazon a csomóponton. Ezért meg kell írnia a feladat-előkészítési feladatot az újbóli vé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 tevékenység korábban nem fejeződött be. Ha a csomópont újra van építve, a feladat bármely tevékenységének ütemezése előtt a feladat-előkészítési feladat újra lefut. A Batch újrapróbálkozza a feladatokat, ha 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 megfelelő 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 maxTaskRetryCount értékétől, és nem számítanak bele. Még ha a maxTaskRetryCount száma 0 is, belső újrapróbálkozhat egy helyreállítási művelet miatt. Emiatt minden tevékenységnek idempotensnek kell lennie. Ez azt jelenti, hogy a tevékenységeknek el kell viselnie 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 ajánlott eljárása az ellenőrzőpontok valamilyen formájának használata.

Tulajdonságok

commandLine

A feladat-előkészítési feladat parancssora. 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, a parancssorban meg kell hívnia a rendszerhéjat, például a Windowsban a "cmd /c MyCommand" vagy a "/bin/sh -c MyCommand" parancsmagot Linuxon. Ha a parancssor fájlelérési utakra hivatkozik, akkor 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

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

containerSettings

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 (a csomóponton található Azure Batch-címtárak gyökere) alatt lévő összes könyvtár rekurzív módon lesz leképezve a tárolóba, a tevékenységkörnyezet összes változója a tárolóba van leképezve, és a feladat parancssora a tárolóban lesz végrehajtva. Előfordulhat, hogy a tárolóban AZ_BATCH_NODE_ROOT_DIR kívül létrehozott fájlok nem jelennek meg a gazdalemezen, ami azt jelenti, hogy a Batch-fájl API-k nem férnek hozzá ezekhez a fájlokhoz.

environmentSettings

A feladat-előkészítési feladat környezeti változóbeállításainak listája.

id

A feladaton belüli feladat-előkészítési tevékenységet egyedileg azonosító sztring. Az azonosító tartalmazhat alfanumerikus karakterek tetszőleges kombinációját, beleértve a kötőjeleket és az aláhúzásjeleket, é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 egyetlen tevékenység sem rendelkezhet ugyanazzal az azonosítóval, mint a feladat-előkészítési tevékenység. Ha egy azonos azonosítójú feladatot próbál elküldeni, a Batch szolgáltatás a TaskIdSameAsJobPreparationTask hibakóddal elutasítja a kérelmet; ha közvetlenül a REST API-t hívja meg, a HTTP-állapotkód 409 (Ütközés).

rerunOnNodeRebootAfterSuccess

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ópont újra van építve, vagy ha a feladat-előkészítési tevékenység nem fejeződött be (például azért, mert az újraindítás a tevékenység futtatá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 igaz.

resourceFiles

Azon fájlok listája, amelyeket a Batch szolgáltatás a parancssor futtatása előtt letölt a számítási csomópontra. 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ét csökkenteni kell. Ez .zip fájlok, alkalmazáscsomagok vagy Docker-tárolók használatával érhető el.

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 egy nem rendszergazda felhasználóként, amely a Linux számítási csomópontokon található készletre jellemző.

waitForSuccess

Várjon-e a Batch szolgáltatás, amíg a feladat-előkészítési feladat sikeresen befejeződik, mielőtt ütemezni szeretné a feladat egyéb feladatait a számítási csomóponton. 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 tevékenység meghiúsul egy csomóponton, a Batch szolgáltatás újrapróbálkozásokat végez a feladat-előkészítési tevékenységnél a maximális újrapróbálkozások számának megfelelően (a kényszerelemben megadottak szerint). Ha a tevékenység az összes újrapróbálkozás 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 a feladat-előkészítési feladat befejezését. Ebben az esetben a feladat más tevékenységei elkezdhetik a végrehajtást a számítási csomóponton, miközben a feladat-előkészítési tevékenység 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 igaz.

Tulajdonság adatai

commandLine

A feladat-előkészítési feladat parancssora. 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, a parancssorban meg kell hívnia a rendszerhéjat, például a Windowsban a "cmd /c MyCommand" vagy a "/bin/sh -c MyCommand" parancsmagot Linuxon. Ha a parancssor fájlelérési utakra hivatkozik, akkor 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Tulajdonság értéke

string

constraints

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

constraints?: BatchTaskConstraintsOutput

Tulajdonság értéke

containerSettings

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 (a csomóponton található Azure Batch-címtárak gyökere) alatt lévő összes könyvtár rekurzív módon lesz leképezve a tárolóba, a tevékenységkörnyezet összes változója a tárolóba van leképezve, és a feladat parancssora a tárolóban lesz végrehajtva. Előfordulhat, hogy a tárolóban AZ_BATCH_NODE_ROOT_DIR kívül létrehozott fájlok nem jelennek meg a gazdalemezen, ami azt jelenti, hogy a Batch-fájl API-k nem férnek hozzá ezekhez a fájlokhoz.

containerSettings?: BatchTaskContainerSettingsOutput

Tulajdonság értéke

environmentSettings

A feladat-előkészítési feladat környezeti változóbeállításainak listája.

environmentSettings?: EnvironmentSettingOutput[]

Tulajdonság értéke

id

A feladaton belüli feladat-előkészítési tevékenységet egyedileg azonosító sztring. Az azonosító tartalmazhat alfanumerikus karakterek tetszőleges kombinációját, beleértve a kötőjeleket és az aláhúzásjeleket, é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 egyetlen tevékenység sem rendelkezhet ugyanazzal az azonosítóval, mint a feladat-előkészítési tevékenység. Ha egy azonos azonosítójú feladatot próbál elküldeni, a Batch szolgáltatás a TaskIdSameAsJobPreparationTask hibakóddal elutasítja a kérelmet; ha közvetlenül a REST API-t hívja meg, a HTTP-állapotkód 409 (Ütközés).

id?: string

Tulajdonság értéke

string

rerunOnNodeRebootAfterSuccess

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ópont újra van építve, vagy ha a feladat-előkészítési tevékenység nem fejeződött be (például azért, mert az újraindítás a tevékenység futtatá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 igaz.

rerunOnNodeRebootAfterSuccess?: boolean

Tulajdonság értéke

boolean

resourceFiles

Azon fájlok listája, amelyeket a Batch szolgáltatás a parancssor futtatása előtt letölt a számítási csomópontra. 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ét csökkenteni kell. Ez .zip fájlok, alkalmazáscsomagok vagy Docker-tárolók használatával érhető el.

resourceFiles?: ResourceFileOutput[]

Tulajdonság értéke

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 egy nem rendszergazda felhasználóként, amely a Linux számítási csomópontokon található készletre jellemző.

userIdentity?: UserIdentityOutput

Tulajdonság értéke

waitForSuccess

Várjon-e a Batch szolgáltatás, amíg a feladat-előkészítési feladat sikeresen befejeződik, mielőtt ütemezni szeretné a feladat egyéb feladatait a számítási csomóponton. 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 tevékenység meghiúsul egy csomóponton, a Batch szolgáltatás újrapróbálkozásokat végez a feladat-előkészítési tevékenységnél a maximális újrapróbálkozások számának megfelelően (a kényszerelemben megadottak szerint). Ha a tevékenység az összes újrapróbálkozás 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 a feladat-előkészítési feladat befejezését. Ebben az esetben a feladat más tevékenységei elkezdhetik a végrehajtást a számítási csomóponton, miközben a feladat-előkészítési tevékenység 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 igaz.

waitForSuccess?: boolean

Tulajdonság értéke

boolean