BatchJobManagerTask interface
Hiermee geeft u details van een Job Manager-taak. De Job Manager-taak wordt automatisch gestart wanneer de taak wordt gemaakt. De Batch-service probeert de Job Manager-taak te plannen vóór andere taken in de taak. Wanneer u een pool verkleint, probeert de Batch-service knooppunten te behouden waarop Job Manager-taken zo lang mogelijk worden uitgevoerd (rekenknooppunten waarop normale taken worden uitgevoerd, worden verwijderd voordat rekenknooppunten jobbeheertaken worden uitgevoerd). Wanneer een Job Manager-taak mislukt en opnieuw moet worden opgestart, probeert het systeem deze op de hoogste prioriteit te plannen. Als er geen niet-actieve rekenknooppunten beschikbaar zijn, kan het systeem een van de actieve taken in de pool beëindigen en terugkeren naar de wachtrij om ruimte te maken voor de Taakbeheertaak om opnieuw te starten. Houd er rekening mee dat een Job Manager-taak in de ene taak geen prioriteit heeft ten opzichte van taken in andere taken. In alle taken worden alleen prioriteiten op taakniveau waargenomen. Als een Job Manager in een taak met prioriteit 0 bijvoorbeeld opnieuw moet worden gestart, worden taken van een taak met prioriteit 1 niet verplaatst. Batch voert taken opnieuw uit wanneer een herstelbewerking wordt geactiveerd op een knooppunt. Voorbeelden van herstelbewerkingen zijn (maar zijn niet beperkt tot) wanneer een beschadigd knooppunt opnieuw wordt opgestart of een rekenknooppunt is verdwenen vanwege een hostfout. Nieuwe pogingen vanwege herstelbewerkingen zijn onafhankelijk van en worden niet meegeteld voor maxTaskRetryCount. Zelfs als maxTaskRetryCount 0 is, kan er een interne nieuwe poging worden uitgevoerd vanwege een herstelbewerking. Daarom moeten alle taken idempotent zijn. Dit betekent dat taken moeten worden onderbroken en opnieuw moeten worden gestart zonder beschadiging of dubbele gegevens te veroorzaken. De aanbevolen procedure voor langlopende taken is om een vorm van controlepunten te gebruiken.
Eigenschappen
| allow |
Of de Taakbeheer-taak kan draaien op een Spot/Low-priority Compute Node. De standaardwaarde is waar. |
| application |
Een lijst van applicatiepakketten die de Batch-service zal uitrollen naar de Compute Node voordat de commandoregel wordt uitgevoerd. Application Packages worden gedownload en geïrriteerd in een gedeelde map, niet in de Task-werkmap. Daarom, als een referentie Application Package al op de Compute Node staat en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op de Compute Node wordt gebruikt. Als een verwezen applicatiepakket niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat de download mislukte, faalt de taak. |
| command |
De commandoregel van de Taakbeheerder Taak. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als je van zulke functies wilt profiteren, moet je de shell aanroepen in de opdrachtregel, bijvoorbeeld met "cmd /c MyCommand" in Windows of "/bin/sh -c MyCommand" in Linux. Als de opdrachtregel verwijst naar bestandspaden, moet deze een relatief pad gebruiken (ten opzichte van de werkmap Taak) of de door Batch geleverde omgevingsvariabele (https://dotnet.territoriali.olinfo.it/azure/batch/batch-compute-node-environment-variables). |
| constraints | Beperkingen die van toepassing zijn op de Taakbeheertaak. |
| container |
De instellingen voor de container waaronder de Taakbeheer-taak draait. Als de Pool die deze taak uitvoert containerConfiguration heeft ingesteld, moet dit ook worden ingesteld. Als de pool die deze taak uitvoert geen containerConfiguration heeft ingesteld, mag dit niet worden ingesteld. Wanneer dit wordt gespecificeerd, worden alle directories recursief onder de AZ_BATCH_NODE_ROOT_DIR (de wortel van Azure Batch directories op de node) in de container gemapt, worden alle Task-omgevingsvariabelen in de container gemapt en wordt de Task-commandoregel uitgevoerd in de container. Bestanden die buiten AZ_BATCH_NODE_ROOT_DIR in de container worden geproduceerd, worden mogelijk niet teruggespiegeld naar de hostdisk, wat betekent dat Batch-bestands-API's geen toegang tot die bestanden hebben. |
| display |
De weergavenaam van de Taakbeheertaak. Het hoeft niet uniek te zijn en kan elk Unicode-teken bevatten tot een maximale lengte van 1024. |
| environment |
Een lijst met instellingen voor omgevingsvariabelen voor de Taakbeheertaak. |
| id | Een string die de Taakbeheer-taak binnen de Taak uniek identificeert. De ID kan elke combinatie van alfanumerieke tekens bevatten, inclusief koppeltekens en onderstreepjes, en mag niet meer dan 64 tekens bevatten. |
| kill |
Of het voltooien van de Taakbeheertaak betekent dat de hele Taak is voltooid. Als dat zo is, markeert de Batchservice de taak als voltooid wanneer de Taakbeheer-taak is voltooid. Als er op dit moment nog taken draaien (behalve Job Release), worden die taken beëindigd. Als het niet klopt, beïnvloedt het voltooien van de Taakbeheer-taak de Taakstatus niet. In dat geval moet je ofwel het attribuut onAllTasksComplete gebruiken om de taak te beëindigen, of een client of gebruiker de taak expliciet laten beëindigen. Een voorbeeld hiervan is als de Taakmanager een set taken aanmaakt, maar vervolgens geen verdere rol speelt in de uitvoering ervan. De standaardwaarde is waar. Als je de attributen onAllTasksComplete en onTaskFailure gebruikt om de levensduur van de taak te beheren, en de Taakbeheer-taak alleen gebruikt om de taken voor de taak aan te maken (niet om de voortgang te monitoren), dan is het belangrijk om killJobOnCompletion op false te zetten. |
| output |
Een lijst van bestanden die de Batch-service zal uploaden vanaf de Compute Node nadat de opdrachtregel is uitgevoerd. Voor multi-instance taken worden de bestanden alleen geüpload vanaf de Compute Node waarop de primaire Task wordt uitgevoerd. |
| required |
Het aantal planningsslots dat de Taak nodig heeft om uit te voeren. De standaardwaarde is één. Een Task kan alleen worden gepland om op een compute-node te draaien als de node genoeg vrije planningsslots beschikbaar heeft. Voor multi-instance taken wordt deze eigenschap niet ondersteund en mag niet worden gespecificeerd. |
| resource |
Een lijst met bestanden die de Batch-service naar het rekenknooppunt downloadt voordat u de opdrachtregel uitvoert. Bestanden die onder dit element worden vermeld, bevinden zich in de werkmap van de taak. Er is een maximale grootte voor de lijst met resourcebestanden. Wanneer de maximale grootte wordt overschreden, mislukt de aanvraag en is de antwoordfoutcode RequestEntityTooLarge. Als dit het geval is, moet de verzameling ResourceFiles worden verkleind. Dit kan worden bereikt met behulp van .zip bestanden, toepassingspakketten of Docker-containers. |
| run |
Of de Taakbeheer-taak exclusief gebruik vereist van de Compute Node waar deze draait. Als dat zo is, zullen geen andere taken op dezelfde Node draaien zolang de Taakmanager draait. Als het niet klopt, kunnen andere taken gelijktijdig met de Taakbeheer op een rekenknooppunt draaien. De Taakbeheer-taak telt normaal mee tegen de gelijktijdige taaklimiet van de Rekenknoop, dus dit is alleen relevant als de Rekenknoop meerdere gelijktijdige taken toestaat. De standaardwaarde is waar. |
| user |
De gebruikersidentiteit waaronder de Taakbeheer-taak draait. Als deze wordt weggelaten, draait de taak als een niet-administratieve gebruiker die uniek is voor de taak. |
Eigenschapdetails
allowLowPriorityNode
Of de Taakbeheer-taak kan draaien op een Spot/Low-priority Compute Node. De standaardwaarde is waar.
allowLowPriorityNode?: boolean
Waarde van eigenschap
boolean
applicationPackageReferences
Een lijst van applicatiepakketten die de Batch-service zal uitrollen naar de Compute Node voordat de commandoregel wordt uitgevoerd. Application Packages worden gedownload en geïrriteerd in een gedeelde map, niet in de Task-werkmap. Daarom, als een referentie Application Package al op de Compute Node staat en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op de Compute Node wordt gebruikt. Als een verwezen applicatiepakket niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat de download mislukte, faalt de taak.
applicationPackageReferences?: BatchApplicationPackageReference[]
Waarde van eigenschap
commandLine
De commandoregel van de Taakbeheerder Taak. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als je van zulke functies wilt profiteren, moet je de shell aanroepen in de opdrachtregel, bijvoorbeeld met "cmd /c MyCommand" in Windows of "/bin/sh -c MyCommand" in Linux. Als de opdrachtregel verwijst naar bestandspaden, moet deze een relatief pad gebruiken (ten opzichte van de werkmap Taak) of de door Batch geleverde omgevingsvariabele (https://dotnet.territoriali.olinfo.it/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Waarde van eigenschap
string
constraints
Beperkingen die van toepassing zijn op de Taakbeheertaak.
constraints?: BatchTaskConstraints
Waarde van eigenschap
containerSettings
De instellingen voor de container waaronder de Taakbeheer-taak draait. Als de Pool die deze taak uitvoert containerConfiguration heeft ingesteld, moet dit ook worden ingesteld. Als de pool die deze taak uitvoert geen containerConfiguration heeft ingesteld, mag dit niet worden ingesteld. Wanneer dit wordt gespecificeerd, worden alle directories recursief onder de AZ_BATCH_NODE_ROOT_DIR (de wortel van Azure Batch directories op de node) in de container gemapt, worden alle Task-omgevingsvariabelen in de container gemapt en wordt de Task-commandoregel uitgevoerd in de container. Bestanden die buiten AZ_BATCH_NODE_ROOT_DIR in de container worden geproduceerd, worden mogelijk niet teruggespiegeld naar de hostdisk, wat betekent dat Batch-bestands-API's geen toegang tot die bestanden hebben.
containerSettings?: BatchTaskContainerSettings
Waarde van eigenschap
displayName
De weergavenaam van de Taakbeheertaak. Het hoeft niet uniek te zijn en kan elk Unicode-teken bevatten tot een maximale lengte van 1024.
displayName?: string
Waarde van eigenschap
string
environmentSettings
Een lijst met instellingen voor omgevingsvariabelen voor de Taakbeheertaak.
environmentSettings?: EnvironmentSetting[]
Waarde van eigenschap
id
Een string die de Taakbeheer-taak binnen de Taak uniek identificeert. De ID kan elke combinatie van alfanumerieke tekens bevatten, inclusief koppeltekens en onderstreepjes, en mag niet meer dan 64 tekens bevatten.
id: string
Waarde van eigenschap
string
killJobOnCompletion
Of het voltooien van de Taakbeheertaak betekent dat de hele Taak is voltooid. Als dat zo is, markeert de Batchservice de taak als voltooid wanneer de Taakbeheer-taak is voltooid. Als er op dit moment nog taken draaien (behalve Job Release), worden die taken beëindigd. Als het niet klopt, beïnvloedt het voltooien van de Taakbeheer-taak de Taakstatus niet. In dat geval moet je ofwel het attribuut onAllTasksComplete gebruiken om de taak te beëindigen, of een client of gebruiker de taak expliciet laten beëindigen. Een voorbeeld hiervan is als de Taakmanager een set taken aanmaakt, maar vervolgens geen verdere rol speelt in de uitvoering ervan. De standaardwaarde is waar. Als je de attributen onAllTasksComplete en onTaskFailure gebruikt om de levensduur van de taak te beheren, en de Taakbeheer-taak alleen gebruikt om de taken voor de taak aan te maken (niet om de voortgang te monitoren), dan is het belangrijk om killJobOnCompletion op false te zetten.
killJobOnCompletion?: boolean
Waarde van eigenschap
boolean
outputFiles
Een lijst van bestanden die de Batch-service zal uploaden vanaf de Compute Node nadat de opdrachtregel is uitgevoerd. Voor multi-instance taken worden de bestanden alleen geüpload vanaf de Compute Node waarop de primaire Task wordt uitgevoerd.
outputFiles?: OutputFile[]
Waarde van eigenschap
requiredSlots
Het aantal planningsslots dat de Taak nodig heeft om uit te voeren. De standaardwaarde is één. Een Task kan alleen worden gepland om op een compute-node te draaien als de node genoeg vrije planningsslots beschikbaar heeft. Voor multi-instance taken wordt deze eigenschap niet ondersteund en mag niet worden gespecificeerd.
requiredSlots?: number
Waarde van eigenschap
number
resourceFiles
Een lijst met bestanden die de Batch-service naar het rekenknooppunt downloadt voordat u de opdrachtregel uitvoert. Bestanden die onder dit element worden vermeld, bevinden zich in de werkmap van de taak. Er is een maximale grootte voor de lijst met resourcebestanden. Wanneer de maximale grootte wordt overschreden, mislukt de aanvraag en is de antwoordfoutcode RequestEntityTooLarge. Als dit het geval is, moet de verzameling ResourceFiles worden verkleind. Dit kan worden bereikt met behulp van .zip bestanden, toepassingspakketten of Docker-containers.
resourceFiles?: ResourceFile[]
Waarde van eigenschap
runExclusive
Of de Taakbeheer-taak exclusief gebruik vereist van de Compute Node waar deze draait. Als dat zo is, zullen geen andere taken op dezelfde Node draaien zolang de Taakmanager draait. Als het niet klopt, kunnen andere taken gelijktijdig met de Taakbeheer op een rekenknooppunt draaien. De Taakbeheer-taak telt normaal mee tegen de gelijktijdige taaklimiet van de Rekenknoop, dus dit is alleen relevant als de Rekenknoop meerdere gelijktijdige taken toestaat. De standaardwaarde is waar.
runExclusive?: boolean
Waarde van eigenschap
boolean
userIdentity
De gebruikersidentiteit waaronder de Taakbeheer-taak draait. Als deze wordt weggelaten, draait de taak als een niet-administratieve gebruiker die uniek is voor de taak.
userIdentity?: UserIdentity