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 |
Hogy a Job Manager feladat fut-e egy Spot/alacsony prioritású számítási csomóponton. Az alapértelmezett érték igaz. |
| application |
Egy lista az alkalmazáscsomagokról, amelyeket a Batch szolgáltatás telepít a Compute Node-ra a parancssor futtatása előtt. Az alkalmazáscsomagokat egy közös könyvtárba töltik le és telepítik, nem a Feladat munkakönyvtárba. Ezért, ha egy hivatkozott alkalmazáscsomag már van a Compute Node-on és naprakész, akkor nem töltik le újra; a Compute Node meglévő példányát használják. Ha egy hivatkozott alkalmazáscsomagot nem lehet telepíteni, például mert a csomagot törölték vagy a letöltés meghibásodott, akkor a feladat meghibásodik. |
| command |
A Job Manager 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 akarod használni az ilyen funkciókat, hívd meg a shellet a parancssorban, például a "cmd /c MyCommand" Windows-ben vagy a "/bin/sh -c MyCommand" használatával Linuxban. 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 Munkamenedzser feladatra vonatkozó korlátozások. |
| container |
A konténer, ahol a Job Manager feladat fut, beállításai. Ha a Feladatot futtató Pool ContainerConfiguration beállított, ezt is be kell állítani. Ha a Pool, amely ezt a feladatot futtatja, nincs containerConfiguration beállítással, akkor ezt nem szabad beállítani. Ha ezt megadják, az összes AZ_BATCH_NODE_ROOT_DIR alatti könyvtár (a csomóponton lévő Azure Batch könyvtár gyökere) rekurzívan a konténerbe kerül, az összes Feladatkörnyezet változót a konténerbe képezik, és a Feladat parancssort a konténerben futtatják. A konténerben AZ_BATCH_NODE_ROOT_DIR kívül előállított fájlok nem feltétlenül tükröződnek a hasztlemezre, ami azt jelenti, hogy a Batch fájl API-k nem férnek hozzá ezekhez a fájlokhoz. |
| display |
A Job Manager feladat megjelenítési neve. Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságig tartalmazhat Unicode karaktereket. |
| environment |
A Job Manager feladat környezeti változóbeállításainak listája. |
| id | Egy sorozat, amely egyedien azonosítja a Job Manager feladatot a Feladaton belül. Az azonosító bármilyen alfanumerikus karakterkombinációt tartalmazhat, beleértve a kötőjeleket és aláhúzásokat, és nem tartalmazhat 64 karakternél többet. |
| kill |
Hogy a Munkamenedzser feladat befejezése az egész munka befejezését jelenti-e. Ha igaz, amikor a Feladatkezelő feladat befejeződik, a Batch szolgáltatás befejezettnek jelöli meg a feladatot. Ha jelenleg bármely feladat fut (kivéve a Feladatkibocsátást), akkor azokat megszüntetik. Ha hamis, a Munkamenedzser feladat teljesítése nem befolyásolja a Munka státuszát. Ebben az esetben vagy az onAllTasksComplete attribútumot kell használni a Feladat megszüntetéséhez, vagy egy kliensnek vagy felhasználónak kell kifejezetten megszüntetnie a feladatot. Például ha a Munkamenedzser létrehoz egy Feladatok halmazát, de nem vállal további szerepet azok végrehajtásában. Az alapértelmezett érték igaz. Ha az onAllTasksComplete és onTaskFailure attribútumokat használod a Job élettartamának szabályozására, és a Job Manager Feladatot csak a feladat feladatainak létrehozására használod (nem a haladás nyomon követésére), akkor fontos, hogy a killJobOnCompletion-t false minősítsd. |
| output |
Egy lista azokról a fájlokról, amelyeket a Batch szolgáltatás feltölt a Compute Node-ról a parancssor futtatása után. Többpéldányos feladatoknál a fájlokat csak az a Compute Node-ból töltik fel, ahol az elsődleges feladat végrehajtódik. |
| required |
A feladatnak szükséges ütemezési helyek száma. Alapértéke 1. Egy feladatot csak akkor lehet beosztani egy számítási csomóponton, ha a csomópontnak elegendő szabad ütemezési helye van. Többpéldányos feladatoknál ez a tulajdonság nem támogatott, és nem szabad megadni. |
| 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 |
Hogy a Feladatkezelő feladat kizárólagos Compute Node használatát igényli-e, ahol fut. Ha igaz, akkor egyetlen más feladat sem fog ugyanazon a Node-on futni, amíg a Job Manager fut. Ha hamis, más feladatok egyszerre futhatnak a Munkakezelővel egy Compute Node-on. A Feladatkezelő feladat általában beleszámít a Compute Node egyidejű Feladatkorlátjába, így ez csak akkor releváns, ha a Compute Node több párhuzamos feladatot engedélyez. Az alapértelmezett érték igaz. |
| user |
Az a felhasználói azonosító, amely alatt a Job Manager feladat fut. Ha kihagyják, a feladat nem adminisztratív felhasználóként fut el, amely egyedi, a feladatra jellemző. |
Tulajdonság adatai
allowLowPriorityNode
Hogy a Job Manager feladat fut-e egy Spot/alacsony prioritású számítási csomóponton. Az alapértelmezett érték igaz.
allowLowPriorityNode?: boolean
Tulajdonság értéke
boolean
applicationPackageReferences
Egy lista az alkalmazáscsomagokról, amelyeket a Batch szolgáltatás telepít a Compute Node-ra a parancssor futtatása előtt. Az alkalmazáscsomagokat egy közös könyvtárba töltik le és telepítik, nem a Feladat munkakönyvtárba. Ezért, ha egy hivatkozott alkalmazáscsomag már van a Compute Node-on és naprakész, akkor nem töltik le újra; a Compute Node meglévő példányát használják. Ha egy hivatkozott alkalmazáscsomagot nem lehet telepíteni, például mert a csomagot törölték vagy a letöltés meghibásodott, akkor a feladat meghibásodik.
applicationPackageReferences?: BatchApplicationPackageReference[]
Tulajdonság értéke
commandLine
A Job Manager 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 akarod használni az ilyen funkciókat, hívd meg a shellet a parancssorban, például a "cmd /c MyCommand" Windows-ben vagy a "/bin/sh -c MyCommand" használatával Linuxban. 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 Munkamenedzser feladatra vonatkozó korlátozások.
constraints?: BatchTaskConstraints
Tulajdonság értéke
containerSettings
A konténer, ahol a Job Manager feladat fut, beállításai. Ha a Feladatot futtató Pool ContainerConfiguration beállított, ezt is be kell állítani. Ha a Pool, amely ezt a feladatot futtatja, nincs containerConfiguration beállítással, akkor ezt nem szabad beállítani. Ha ezt megadják, az összes AZ_BATCH_NODE_ROOT_DIR alatti könyvtár (a csomóponton lévő Azure Batch könyvtár gyökere) rekurzívan a konténerbe kerül, az összes Feladatkörnyezet változót a konténerbe képezik, és a Feladat parancssort a konténerben futtatják. A konténerben AZ_BATCH_NODE_ROOT_DIR kívül előállított fájlok nem feltétlenül tükröződnek a hasztlemezre, 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 Job Manager feladat megjelenítési neve. Nem kell egyedinek lennie, és legfeljebb 1024 hosszúságig tartalmazhat Unicode karaktereket.
displayName?: string
Tulajdonság értéke
string
environmentSettings
A Job Manager feladat környezeti változóbeállításainak listája.
environmentSettings?: EnvironmentSetting[]
Tulajdonság értéke
id
Egy sorozat, amely egyedien azonosítja a Job Manager feladatot a Feladaton belül. Az azonosító bármilyen alfanumerikus karakterkombinációt tartalmazhat, beleértve a kötőjeleket és aláhúzásokat, és nem tartalmazhat 64 karakternél többet.
id: string
Tulajdonság értéke
string
killJobOnCompletion
Hogy a Munkamenedzser feladat befejezése az egész munka befejezését jelenti-e. Ha igaz, amikor a Feladatkezelő feladat befejeződik, a Batch szolgáltatás befejezettnek jelöli meg a feladatot. Ha jelenleg bármely feladat fut (kivéve a Feladatkibocsátást), akkor azokat megszüntetik. Ha hamis, a Munkamenedzser feladat teljesítése nem befolyásolja a Munka státuszát. Ebben az esetben vagy az onAllTasksComplete attribútumot kell használni a Feladat megszüntetéséhez, vagy egy kliensnek vagy felhasználónak kell kifejezetten megszüntetnie a feladatot. Például ha a Munkamenedzser létrehoz egy Feladatok halmazát, de nem vállal további szerepet azok végrehajtásában. Az alapértelmezett érték igaz. Ha az onAllTasksComplete és onTaskFailure attribútumokat használod a Job élettartamának szabályozására, és a Job Manager Feladatot csak a feladat feladatainak létrehozására használod (nem a haladás nyomon követésére), akkor fontos, hogy a killJobOnCompletion-t false minősítsd.
killJobOnCompletion?: boolean
Tulajdonság értéke
boolean
outputFiles
Egy lista azokról a fájlokról, amelyeket a Batch szolgáltatás feltölt a Compute Node-ról a parancssor futtatása után. Többpéldányos feladatoknál a fájlokat csak az a Compute Node-ból töltik fel, ahol az elsődleges feladat végrehajtódik.
outputFiles?: OutputFile[]
Tulajdonság értéke
requiredSlots
A feladatnak szükséges ütemezési helyek száma. Alapértéke 1. Egy feladatot csak akkor lehet beosztani egy számítási csomóponton, ha a csomópontnak elegendő szabad ütemezési helye van. Többpéldányos feladatoknál ez a tulajdonság nem támogatott, és nem szabad megadni.
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
Hogy a Feladatkezelő feladat kizárólagos Compute Node használatát igényli-e, ahol fut. Ha igaz, akkor egyetlen más feladat sem fog ugyanazon a Node-on futni, amíg a Job Manager fut. Ha hamis, más feladatok egyszerre futhatnak a Munkakezelővel egy Compute Node-on. A Feladatkezelő feladat általában beleszámít a Compute Node egyidejű Feladatkorlátjába, így ez csak akkor releváns, ha a Compute Node több párhuzamos feladatot engedélyez. Az alapértelmezett érték igaz.
runExclusive?: boolean
Tulajdonság értéke
boolean
userIdentity
Az a felhasználói azonosító, amely alatt a Job Manager feladat fut. Ha kihagyják, a feladat nem adminisztratív felhasználóként fut el, amely egyedi, a feladatra jellemző.
userIdentity?: UserIdentity