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
| command |
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. |
| container |
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. |
| environment |
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). |
| rerun |
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. |
| resource |
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. |
| user |
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ő. |
| wait |
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