BatchJobManagerTaskOutput interface
Určuje podrobnosti úlohy správce úloh. Úloha Správce úloh se automaticky spustí při vytvoření úlohy. Služba Batch se pokusí naplánovat úlohu Správce úloh před všemi ostatními úkoly v úloze. Při zmenšování fondu se služba Batch pokusí zachovat uzly, ve kterých běží úkoly Správce úloh co nejdéle (to znamená, že výpočetní uzly se spuštěnými "normální" úkoly se odeberou před výpočetními uzly, na kterých běží úkoly Správce úloh). Pokud úloha Správce úloh selže a je třeba ji restartovat, systém se pokusí naplánovat ji s nejvyšší prioritou. Pokud nejsou dostupné žádné nečinné výpočetní uzly, může systém ukončit některý ze spuštěných úkolů ve fondu a vrátit ho do fronty, aby se uvolnilo místo pro restartování úlohy Správce úloh. Všimněte si, že úkol Správce úloh v jedné úloze nemá prioritu oproti úkolům v jiných úlohách. V rámci úloh se pozorují pouze priority na úrovni úlohy. Například pokud je třeba restartovat správce úloh v prioritě 0 Úloha, nepřesune úkoly priority 1 Úloha. Služba Batch bude opakovat úlohy, když se na uzlu aktivuje operace obnovení. Příklady operací obnovení zahrnují (ale nejsou omezené) při restartování uzlu, který není v pořádku, nebo výpočetní uzel zmizel kvůli selhání hostitele. Opakované pokusy z důvodu operací obnovení jsou nezávislé na hodnotě maxTaskRetryCount a nezapočítávají se do hodnoty maxTaskRetryCount. I když je hodnota maxTaskRetryCount 0, může dojít k internímu opakování kvůli operaci obnovení. Z tohoto důvodu by všechny úkoly měly být idempotentní. To znamená, že úkoly musí tolerovat přerušení a restartování, aniž by to způsobilo poškození nebo duplicitní data. Osvědčeným postupem pro dlouhotrvající úlohy je použití určité formy vytváření kontrolních bodů.
Vlastnosti
| allow |
Určuje, jestli se úloha Správce úloh může spouštět na výpočetním uzlu s nízkou prioritou. Výchozí hodnota je true. |
| application |
Seznam balíčků aplikací, které služba Batch nasadí do výpočetního uzlu před spuštěním příkazového řádku. Balíčky aplikací se stáhnou a nasadí do sdíleného adresáře, ne do pracovního adresáře úlohy. Proto pokud odkazovaný balíček aplikace je již na výpočetním uzlu a je aktuální, pak se znovu nestáhnou; Použije se existující kopie výpočetního uzlu. Pokud odkazovaný balíček aplikace nelze nainstalovat, například protože balíček byl odstraněn nebo protože stahování selhalo, úloha selže. |
| authentication |
Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch. Pokud je tato vlastnost nastavená, služba Batch poskytuje úlohu ověřovací token, který se dá použít k ověřování operací služby Batch, aniž by vyžadovala přístupový klíč účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úloha provádět pomocí tokenu, závisí na nastavení. Úkol může například požádat o oprávnění úlohy, aby mohl do úlohy přidat další úkoly, nebo zkontrolovat stav úlohy nebo jiných úkolů v rámci úlohy. |
| command |
Příkazový řádek úlohy Správce úloh. Příkazový řádek se nespustí pod prostředím, a proto nemůže využívat funkce prostředí, jako je rozšíření proměnné prostředí. Pokud chcete tyto funkce využít, měli byste vyvolat prostředí na příkazovém řádku, například pomocí příkazu cmd /c MyCommand ve Windows nebo /bin/sh -c MyCommand v Linuxu. Pokud příkazový řádek odkazuje na cesty k souborům, měl by použít relativní cestu (relativní k pracovnímu adresáři úkolu) nebo použít proměnnou prostředí poskytovanou službou Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | Omezení, která platí pro úlohu Správce úloh. |
| container |
Nastavení kontejneru, pod kterým běží úloha Správce úloh. Pokud má fond, který bude tuto úlohu spouštět, nastavený kontejnerConfiguration, musí být také nastaven. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavena. Po zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a v kontejneru se spustí příkazový řádek úkolu. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na hostitelském disku, což znamená, že rozhraní API souborů batch nebudou mít přístup k těmto souborům. |
| display |
Zobrazovaný název úlohy Správce úloh. Nemusí být jedinečný a může obsahovat jakékoli znaky Unicode až do maximální délky 1024. |
| environment |
Seznam nastavení proměnných prostředí pro úlohu Správce úloh. |
| id | Řetězec, který jednoznačně identifikuje úlohu Správce úloh v rámci úlohy. ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně pomlček a podtržítka a nesmí obsahovat více než 64 znaků. |
| kill |
Určuje, zda dokončení úlohy správce úloh označuje dokončení celé úlohy. Pokud je hodnota true, po dokončení úlohy Správce úloh služba Batch označí úlohu jako dokončenou. Pokud jsou některé úkoly v tuto chvíli stále spuštěné (jiné než verze úlohy), tyto úkoly se ukončí. Pokud je hodnota false, dokončení úlohy správce úloh nemá vliv na stav úlohy. V tomto případě byste buď měli použít atribut onAllTasksComplete k ukončení úlohy, nebo mít klienta nebo uživatele ukončit úlohu explicitně. Příkladem je, že správce úloh vytvoří sadu úkolů, ale pak ve svém provádění nebude provádět žádnou další roli. Výchozí hodnota je true. Pokud používáte atributy onAllTasksComplete a onTaskFailure k řízení životnosti úlohy a použití úlohy správce úloh pouze k vytvoření úkolů pro úlohu (ne monitorování průběhu), je důležité nastavit killJobOnCompletion na false. |
| output |
Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku U úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém je spuštěn primární úkol. |
| required |
Počet slotů plánování, které úloha vyžaduje ke spuštění. Výchozí hodnota je 1. Úkol je možné naplánovat tak, aby běžel pouze na výpočetním uzlu, pokud má uzel k dispozici dostatek volných slotů plánování. U úloh s více instancemi není tato vlastnost podporována a nesmí být zadána. |
| resource |
Seznam souborů, které služba Batch stáhne do výpočetního uzlu před spuštěním příkazového řádku. Soubory uvedené v tomto prvku jsou umístěny v pracovním adresáři úkolu. Seznam souborů prostředků má maximální velikost. Při překročení maximální velikosti požadavek selže a kód chyby odpovědi bude RequestEntityTooLarge. Pokud k tomu dojde, musí být kolekce ResourceFiles zmenšena velikostí. Toho lze dosáhnout pomocí .zip souborů, balíčků aplikací nebo kontejnerů Dockeru. |
| run |
Určuje, jestli úloha Správce úloh vyžaduje výhradní použití výpočetního uzlu, na kterém běží. Pokud je hodnota true, nebudou se na stejném uzlu spouštět žádné další úkoly, pokud je spuštěný Správce úloh. Pokud je false, můžou ostatní úkoly běžet současně se Správcem úloh na výpočetním uzlu. Úloha Správce úloh se počítá normálně do limitu souběžných úloh výpočetního uzlu, takže to platí jenom v případě, že výpočetní uzel umožňuje více souběžných úloh. Výchozí hodnota je true. |
| user |
Identita uživatele, pod kterou se spouští úloha Správce úloh. Pokud tento parametr vynecháte, úloha se spustí jako uživatel, který není správcem, který je pro úlohu jedinečný. |
Podrobnosti vlastnosti
allowLowPriorityNode
Určuje, jestli se úloha Správce úloh může spouštět na výpočetním uzlu s nízkou prioritou. Výchozí hodnota je true.
allowLowPriorityNode?: boolean
Hodnota vlastnosti
boolean
applicationPackageReferences
Seznam balíčků aplikací, které služba Batch nasadí do výpočetního uzlu před spuštěním příkazového řádku. Balíčky aplikací se stáhnou a nasadí do sdíleného adresáře, ne do pracovního adresáře úlohy. Proto pokud odkazovaný balíček aplikace je již na výpočetním uzlu a je aktuální, pak se znovu nestáhnou; Použije se existující kopie výpočetního uzlu. Pokud odkazovaný balíček aplikace nelze nainstalovat, například protože balíček byl odstraněn nebo protože stahování selhalo, úloha selže.
applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]
Hodnota vlastnosti
authenticationTokenSettings
Nastavení ověřovacího tokenu, který může úloha použít k provádění operací služby Batch. Pokud je tato vlastnost nastavená, služba Batch poskytuje úlohu ověřovací token, který se dá použít k ověřování operací služby Batch, aniž by vyžadovala přístupový klíč účtu. Token se poskytuje prostřednictvím proměnné prostředí AZ_BATCH_AUTHENTICATION_TOKEN. Operace, které může úloha provádět pomocí tokenu, závisí na nastavení. Úkol může například požádat o oprávnění úlohy, aby mohl do úlohy přidat další úkoly, nebo zkontrolovat stav úlohy nebo jiných úkolů v rámci úlohy.
authenticationTokenSettings?: AuthenticationTokenSettingsOutput
Hodnota vlastnosti
commandLine
Příkazový řádek úlohy Správce úloh. Příkazový řádek se nespustí pod prostředím, a proto nemůže využívat funkce prostředí, jako je rozšíření proměnné prostředí. Pokud chcete tyto funkce využít, měli byste vyvolat prostředí na příkazovém řádku, například pomocí příkazu cmd /c MyCommand ve Windows nebo /bin/sh -c MyCommand v Linuxu. Pokud příkazový řádek odkazuje na cesty k souborům, měl by použít relativní cestu (relativní k pracovnímu adresáři úkolu) nebo použít proměnnou prostředí poskytovanou službou Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Hodnota vlastnosti
string
constraints
Omezení, která platí pro úlohu Správce úloh.
constraints?: BatchTaskConstraintsOutput
Hodnota vlastnosti
containerSettings
Nastavení kontejneru, pod kterým běží úloha Správce úloh. Pokud má fond, který bude tuto úlohu spouštět, nastavený kontejnerConfiguration, musí být také nastaven. Pokud fond, který spustí tuto úlohu, nemá nastavenou konfiguraci kontejneru, nesmí být nastavena. Po zadání se všechny adresáře rekurzivně pod AZ_BATCH_NODE_ROOT_DIR (kořen adresářů Azure Batch na uzlu) mapují do kontejneru, všechny proměnné prostředí úloh se mapují do kontejneru a v kontejneru se spustí příkazový řádek úkolu. Soubory vytvořené v kontejneru mimo AZ_BATCH_NODE_ROOT_DIR se nemusí projevit na hostitelském disku, což znamená, že rozhraní API souborů batch nebudou mít přístup k těmto souborům.
containerSettings?: BatchTaskContainerSettingsOutput
Hodnota vlastnosti
displayName
Zobrazovaný název úlohy Správce úloh. Nemusí být jedinečný a může obsahovat jakékoli znaky Unicode až do maximální délky 1024.
displayName?: string
Hodnota vlastnosti
string
environmentSettings
Seznam nastavení proměnných prostředí pro úlohu Správce úloh.
environmentSettings?: EnvironmentSettingOutput[]
Hodnota vlastnosti
id
Řetězec, který jednoznačně identifikuje úlohu Správce úloh v rámci úlohy. ID může obsahovat libovolnou kombinaci alfanumerických znaků včetně pomlček a podtržítka a nesmí obsahovat více než 64 znaků.
id: string
Hodnota vlastnosti
string
killJobOnCompletion
Určuje, zda dokončení úlohy správce úloh označuje dokončení celé úlohy. Pokud je hodnota true, po dokončení úlohy Správce úloh služba Batch označí úlohu jako dokončenou. Pokud jsou některé úkoly v tuto chvíli stále spuštěné (jiné než verze úlohy), tyto úkoly se ukončí. Pokud je hodnota false, dokončení úlohy správce úloh nemá vliv na stav úlohy. V tomto případě byste buď měli použít atribut onAllTasksComplete k ukončení úlohy, nebo mít klienta nebo uživatele ukončit úlohu explicitně. Příkladem je, že správce úloh vytvoří sadu úkolů, ale pak ve svém provádění nebude provádět žádnou další roli. Výchozí hodnota je true. Pokud používáte atributy onAllTasksComplete a onTaskFailure k řízení životnosti úlohy a použití úlohy správce úloh pouze k vytvoření úkolů pro úlohu (ne monitorování průběhu), je důležité nastavit killJobOnCompletion na false.
killJobOnCompletion?: boolean
Hodnota vlastnosti
boolean
outputFiles
Seznam souborů, které služba Batch nahraje z výpočetního uzlu po spuštění příkazového řádku U úloh s více instancemi se soubory nahrají jenom z výpočetního uzlu, na kterém je spuštěn primární úkol.
outputFiles?: OutputFileOutput[]
Hodnota vlastnosti
requiredSlots
Počet slotů plánování, které úloha vyžaduje ke spuštění. Výchozí hodnota je 1. Úkol je možné naplánovat tak, aby běžel pouze na výpočetním uzlu, pokud má uzel k dispozici dostatek volných slotů plánování. U úloh s více instancemi není tato vlastnost podporována a nesmí být zadána.
requiredSlots?: number
Hodnota vlastnosti
number
resourceFiles
Seznam souborů, které služba Batch stáhne do výpočetního uzlu před spuštěním příkazového řádku. Soubory uvedené v tomto prvku jsou umístěny v pracovním adresáři úkolu. Seznam souborů prostředků má maximální velikost. Při překročení maximální velikosti požadavek selže a kód chyby odpovědi bude RequestEntityTooLarge. Pokud k tomu dojde, musí být kolekce ResourceFiles zmenšena velikostí. Toho lze dosáhnout pomocí .zip souborů, balíčků aplikací nebo kontejnerů Dockeru.
resourceFiles?: ResourceFileOutput[]
Hodnota vlastnosti
runExclusive
Určuje, jestli úloha Správce úloh vyžaduje výhradní použití výpočetního uzlu, na kterém běží. Pokud je hodnota true, nebudou se na stejném uzlu spouštět žádné další úkoly, pokud je spuštěný Správce úloh. Pokud je false, můžou ostatní úkoly běžet současně se Správcem úloh na výpočetním uzlu. Úloha Správce úloh se počítá normálně do limitu souběžných úloh výpočetního uzlu, takže to platí jenom v případě, že výpočetní uzel umožňuje více souběžných úloh. Výchozí hodnota je true.
runExclusive?: boolean
Hodnota vlastnosti
boolean
userIdentity
Identita uživatele, pod kterou se spouští úloha Správce úloh. Pokud tento parametr vynecháte, úloha se spustí jako uživatel, který není správcem, který je pro úlohu jedinečný.
userIdentity?: UserIdentityOutput