Sdílet prostřednictvím


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

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.

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.

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.

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).

constraints

Omezení, která platí pro úlohu Správce úloh.

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.

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.

environmentSettings

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ů.

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.

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.

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.

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.

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.

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ý.

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

Hodnota vlastnosti