BatchJobManagerTask interface
A Feladatkezelői tevékenység részleteit adja meg. A Feladatkezelői feladat automatikusan elindul a feladat létrehozásakor. A Batch szolgáltatás megkísérli ütemezni a Feladatkezelői feladatot a feladat bármely más tevékenysége elé. 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ő legnagyobb ideig futnak (vagyis a "normál" feladatokat futtató számítási csomópontok törlődnek, mielőtt a Feladatkezelői feladatokat futtató számítási csomópontok futnak). Ha egy feladatkezelői feladat meghiúsul, és újra kell indítani, a rendszer a legmagasabb prioritással próbálja ütemezni. Ha nem érhetők el tétlen számítási csomópontok, a rendszer leállíthatja a készlet egyik futó feladatát, és visszaküldheti az üzenetsorba, hogy a Feladatkezelő feladat újraindulhasson. Vegye figyelembe, hogy egy feladat feladatkezelői tevékenységének nincs prioritása más feladatok tevékenységeivel szemben. A feladatok között csak a feladatszintű prioritásokat figyeli meg a rendszer. 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 kiszorítani. 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
| allow |
Azt jelzi, hogy a Feladatkezelői feladat futtatható-e egy kihasználatlan/alacsony prioritású számítási csomóponton. Az alapértelmezett érték igaz. |
| application |
Azon alkalmazáscsomagok listája, amelyeket a Batch szolgáltatás a parancssor futtatása előtt üzembe helyez a számítási csomóponton. Az alkalmazáscsomagok egy megosztott könyvtárba vannak letöltve és üzembe helyezve, nem pedig a feladat munkakönyvtárában. Ezért ha egy hivatkozott alkalmazáscsomag már megtalálható a számítási csomóponton, és naprakész, akkor az nem lesz újra letöltve; a számítási csomópont meglévő példánya lesz használatban. Ha egy hivatkozott alkalmazáscsomag nem telepíthető, például azért, mert a csomagot törölték, vagy a letöltés sikertelen volt, a feladat meghiúsul. |
| authentication |
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égrehajtható műveletek a beállításoktól függenek. Egy tevékenység például kérhet feladatengedélyeket, hogy más tevékenységeket vegyen fel a feladatba, vagy ellenőrizze a feladat vagy a feladat alatti egyéb tevékenységek állapotát. |
| command |
A Feladatkezelői 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 Feladatkezelői tevékenységre vonatkozó korlátozások. |
| container |
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ációs készlettel rendelkezik, ezt is be kell állítani. Ha a feladatot futtató készlet nem rendelkezik tárolókonfigurációval, ezt nem szabad beállítani. 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. |
| display |
A Feladatkezelői feladat megjelenítendő neve. Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságú Unicode-karaktereket tartalmazhat. |
| environment |
A Feladatkezelői feladat környezeti változóbeállításainak listája. |
| id | Egy sztring, amely egyedileg azonosítja a Feladatkezelő feladatát a feladaton belül. 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. |
| kill |
Azt jelzi, hogy a Feladatkezelői tevékenység befejezése a teljes feladat befejezését jelzi-e. Ha igaz, a Feladatkezelői tevékenység befejeződésekor a Batch szolgáltatás befejezettként jelöli meg a feladatot. Ha egy tevékenység jelenleg is fut (a feladat kiadásán kívül), a feladatok leállnak. Ha hamis, a Feladatkezelői tevékenység befejezése nem befolyásolja a Feladat állapotát. 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 kifejezetten le kell mondania a feladatot. Ilyen például, ha a Feladatkezelő létrehoz egy feladatkészletet, de a végrehajtásban nem vállal további szerepet. Az alapértelmezett érték 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éke hamis legyen. |
| output |
Azon fájlok listája, amelyeket a Batch szolgáltatás feltölt a számítási csomópontról a parancssor futtatása után. 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. |
| required |
Azon ütemezési pontok száma, amelyeket a tevékenységnek futtatnia kell. Az alapértelmezett érték 1. A tevékenységek csak akkor ütemezhetők számítási csomóponton való futtatásra, ha a csomópont elegendő szabad ütemezési pont áll rendelkezésre. Többpéldányos feladatok esetén ez a tulajdonság nem támogatott, és nem adható meg. |
| 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. |
| run |
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, egyetlen más tevékenység sem fut ugyanazon a csomóponton mindaddig, amíg a Feladatkezelő fut. Ha hamis, a számítási csomóponton a Feladatkezelővel egyidejűleg más feladatok is futtathatók. 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 igaz. |
| user |
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. |
Tulajdonság adatai
allowLowPriorityNode
Azt jelzi, hogy a Feladatkezelői feladat futtatható-e egy kihasználatlan/alacsony prioritású számítási csomóponton. Az alapértelmezett érték igaz.
allowLowPriorityNode?: boolean
Tulajdonság értéke
boolean
applicationPackageReferences
Azon alkalmazáscsomagok listája, amelyeket a Batch szolgáltatás a parancssor futtatása előtt üzembe helyez a számítási csomóponton. Az alkalmazáscsomagok egy megosztott könyvtárba vannak letöltve és üzembe helyezve, nem pedig a feladat munkakönyvtárában. Ezért ha egy hivatkozott alkalmazáscsomag már megtalálható a számítási csomóponton, és naprakész, akkor az nem lesz újra letöltve; a számítási csomópont meglévő példánya lesz használatban. Ha egy hivatkozott alkalmazáscsomag nem telepíthető, például azért, mert a csomagot törölték, vagy a letöltés sikertelen volt, a feladat meghiúsul.
applicationPackageReferences?: BatchApplicationPackageReference[]
Tulajdonság értéke
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égrehajtható műveletek a beállításoktól függenek. Egy tevékenység például kérhet feladatengedélyeket, hogy más tevékenységeket vegyen fel a feladatba, vagy ellenőrizze a feladat vagy a feladat alatti egyéb tevékenységek állapotát.
authenticationTokenSettings?: AuthenticationTokenSettings
Tulajdonság értéke
commandLine
A Feladatkezelői 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 Feladatkezelői tevékenységre vonatkozó korlátozások.
constraints?: BatchTaskConstraints
Tulajdonság értéke
containerSettings
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ációs készlettel rendelkezik, ezt is be kell állítani. Ha a feladatot futtató készlet nem rendelkezik tárolókonfigurációval, ezt nem szabad beállítani. 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?: BatchTaskContainerSettings
Tulajdonság értéke
displayName
A Feladatkezelői feladat megjelenítendő neve. Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságú Unicode-karaktereket tartalmazhat.
displayName?: string
Tulajdonság értéke
string
environmentSettings
A Feladatkezelői feladat környezeti változóbeállításainak listája.
environmentSettings?: EnvironmentSetting[]
Tulajdonság értéke
id
Egy sztring, amely egyedileg azonosítja a Feladatkezelő feladatát a feladaton belül. 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.
id: string
Tulajdonság értéke
string
killJobOnCompletion
Azt jelzi, hogy a Feladatkezelői tevékenység befejezése a teljes feladat befejezését jelzi-e. Ha igaz, a Feladatkezelői tevékenység befejeződésekor a Batch szolgáltatás befejezettként jelöli meg a feladatot. Ha egy tevékenység jelenleg is fut (a feladat kiadásán kívül), a feladatok leállnak. Ha hamis, a Feladatkezelői tevékenység befejezése nem befolyásolja a Feladat állapotát. 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 kifejezetten le kell mondania a feladatot. Ilyen például, ha a Feladatkezelő létrehoz egy feladatkészletet, de a végrehajtásban nem vállal további szerepet. Az alapértelmezett érték 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éke hamis legyen.
killJobOnCompletion?: boolean
Tulajdonság értéke
boolean
outputFiles
Azon fájlok listája, amelyeket a Batch szolgáltatás feltölt a számítási csomópontról a parancssor futtatása után. 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.
outputFiles?: OutputFile[]
Tulajdonság értéke
requiredSlots
Azon ütemezési pontok száma, amelyeket a tevékenységnek futtatnia kell. Az alapértelmezett érték 1. A tevékenységek csak akkor ütemezhetők számítási csomóponton való futtatásra, ha a csomópont elegendő szabad ütemezési pont áll rendelkezésre. Többpéldányos feladatok esetén ez a tulajdonság nem támogatott, és nem adható meg.
requiredSlots?: number
Tulajdonság értéke
number
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?: ResourceFile[]
Tulajdonság értéke
runExclusive
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, egyetlen más tevékenység sem fut ugyanazon a csomóponton mindaddig, amíg a Feladatkezelő fut. Ha hamis, a számítási csomóponton a Feladatkezelővel egyidejűleg más feladatok is futtathatók. 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 igaz.
runExclusive?: boolean
Tulajdonság értéke
boolean
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.
userIdentity?: UserIdentity