Delen via


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

allowLowPriorityNode

Of de Job Manager-taak kan worden uitgevoerd op een rekenknooppunt met een spot-/lage prioriteit. De standaardwaarde is waar.

applicationPackageReferences

Een lijst met toepassingspakketten die door de Batch-service worden geïmplementeerd in het rekenknooppunt voordat u de opdrachtregel uitvoert. Toepassingspakketten worden gedownload en geïmplementeerd in een gedeelde map, niet in de werkmap Taak. Als een toepassingspakket waarnaar wordt verwezen, zich al op het rekenknooppunt bevindt en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op het rekenknooppunt wordt gebruikt. Als een toepassingspakket waarnaar wordt verwezen, niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat het downloaden is mislukt, mislukt de taak.

authenticationTokenSettings

De instellingen voor een verificatietoken dat de taak kan gebruiken om Batch-servicebewerkingen uit te voeren. Als deze eigenschap is ingesteld, biedt de Batch-service de taak een verificatietoken dat kan worden gebruikt voor het verifiëren van Batch-servicebewerkingen zonder dat hiervoor een accounttoegangssleutel is vereist. Het token wordt geleverd via de omgevingsvariabele AZ_BATCH_AUTHENTICATION_TOKEN. De bewerkingen die de taak kan uitvoeren met behulp van het token, zijn afhankelijk van de instellingen. Een taak kan bijvoorbeeld taakmachtigingen aanvragen om andere taken aan de taak toe te voegen of de status van de taak of van andere taken onder de taak te controleren.

commandLine

De opdrachtregel van de jobbeheertaak. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als u van dergelijke functies wilt profiteren, moet u de shell aanroepen op 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

Beperkingen die van toepassing zijn op de Job Manager-taak.

containerSettings

De instellingen voor de container waaronder de Job Manager-taak wordt uitgevoerd. Als voor de pool die deze taak wordt uitgevoerd, een containerconfiguratieset is ingesteld, moet dit ook worden ingesteld. Als de pool die deze taak uitvoert, geen containerConfiguration-set heeft, mag dit niet worden ingesteld. Wanneer dit is opgegeven, worden alle mappen recursief onder de AZ_BATCH_NODE_ROOT_DIR (de hoofdmap van Azure Batch-mappen op het knooppunt) toegewezen aan de container, worden alle omgevingsvariabelen van de taak toegewezen aan de container en wordt de opdrachtregel Taak uitgevoerd in de container. Bestanden die worden geproduceerd in de container buiten AZ_BATCH_NODE_ROOT_DIR worden mogelijk niet weergegeven op de hostschijf, wat betekent dat Batch-bestands-API's geen toegang hebben tot deze bestanden.

displayName

De weergavenaam van de jobbeheertaak. Het hoeft niet uniek te zijn en mag unicode-tekens bevatten tot een maximale lengte van 1024.

environmentSettings

Een lijst met omgevingsvariabele-instellingen voor de taak Job Manager.

id

Een tekenreeks die de Job Manager-taak uniek identificeert binnen de taak. De id kan elke combinatie van alfanumerieke tekens bevatten, inclusief afbreekstreepjes en onderstrepingstekens en mag niet meer dan 64 tekens bevatten.

killJobOnCompletion

Of de voltooiing van de jobbeheertaak de voltooiing van de volledige taak aangeeft. Indien waar, markeert de Batch-service de taak als voltooid wanneer de Taakbeheertaak is voltooid. Als er op dit moment nog taken worden uitgevoerd (anders dan jobrelease), worden deze taken beëindigd. Als dit onwaar is, heeft de voltooiing van de Job Manager-taak geen invloed op de taakstatus. In dit geval moet u het kenmerk onAllTasksComplete gebruiken om de taak te beëindigen of een client of gebruiker de taak expliciet laten beëindigen. Een voorbeeld hiervan is als jobbeheer een set taken maakt, maar vervolgens geen verdere rol neemt in de uitvoering. De standaardwaarde is waar. Als u de kenmerken onAllTasksComplete en onTaskFailure gebruikt om de levensduur van taken te beheren en de Job Manager-taak alleen gebruikt om de taken voor de taak te maken (niet om de voortgang te controleren), is het belangrijk om killJobOnCompletion in te stellen op false.

outputFiles

Een lijst met bestanden die de Batch-service vanaf het rekenknooppunt uploadt nadat de opdrachtregel is uitgevoerd. Voor taken met meerdere exemplaren worden de bestanden alleen geüpload vanuit het rekenknooppunt waarop de primaire taak wordt uitgevoerd.

requiredSlots

Het aantal planningssites dat de taak moet uitvoeren. De standaardwaarde is 1. Een taak kan alleen worden gepland om te worden uitgevoerd op een rekenknooppunt als het knooppunt voldoende vrije planningssites beschikbaar heeft. Voor taken met meerdere exemplaren wordt deze eigenschap niet ondersteund en mag deze niet worden opgegeven.

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.

runExclusive

Of de Job Manager-taak exclusief gebruik vereist van het rekenknooppunt waarop deze wordt uitgevoerd. Indien waar, worden er geen andere taken uitgevoerd op hetzelfde knooppunt zolang jobbeheer wordt uitgevoerd. Als dit onwaar is, kunnen andere taken tegelijk worden uitgevoerd met Job Manager op een rekenknooppunt. De taak van Job Manager telt normaal gesproken op basis van de limiet voor gelijktijdige taken van het rekenknooppunt. Dit is dus alleen relevant als het rekenknooppunt meerdere gelijktijdige taken toestaat. De standaardwaarde is waar.

userIdentity

De gebruikersidentiteit waaronder de Job Manager-taak wordt uitgevoerd. Als u dit weglaat, wordt de taak uitgevoerd als een niet-gebruiker met beheerdersrechten die uniek is voor de taak.

Eigenschapdetails

allowLowPriorityNode

Of de Job Manager-taak kan worden uitgevoerd op een rekenknooppunt met een spot-/lage prioriteit. De standaardwaarde is waar.

allowLowPriorityNode?: boolean

Waarde van eigenschap

boolean

applicationPackageReferences

Een lijst met toepassingspakketten die door de Batch-service worden geïmplementeerd in het rekenknooppunt voordat u de opdrachtregel uitvoert. Toepassingspakketten worden gedownload en geïmplementeerd in een gedeelde map, niet in de werkmap Taak. Als een toepassingspakket waarnaar wordt verwezen, zich al op het rekenknooppunt bevindt en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op het rekenknooppunt wordt gebruikt. Als een toepassingspakket waarnaar wordt verwezen, niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat het downloaden is mislukt, mislukt de taak.

applicationPackageReferences?: BatchApplicationPackageReference[]

Waarde van eigenschap

authenticationTokenSettings

De instellingen voor een verificatietoken dat de taak kan gebruiken om Batch-servicebewerkingen uit te voeren. Als deze eigenschap is ingesteld, biedt de Batch-service de taak een verificatietoken dat kan worden gebruikt voor het verifiëren van Batch-servicebewerkingen zonder dat hiervoor een accounttoegangssleutel is vereist. Het token wordt geleverd via de omgevingsvariabele AZ_BATCH_AUTHENTICATION_TOKEN. De bewerkingen die de taak kan uitvoeren met behulp van het token, zijn afhankelijk van de instellingen. Een taak kan bijvoorbeeld taakmachtigingen aanvragen om andere taken aan de taak toe te voegen of de status van de taak of van andere taken onder de taak te controleren.

authenticationTokenSettings?: AuthenticationTokenSettings

Waarde van eigenschap

commandLine

De opdrachtregel van de jobbeheertaak. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als u van dergelijke functies wilt profiteren, moet u de shell aanroepen op 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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Waarde van eigenschap

string

constraints

Beperkingen die van toepassing zijn op de Job Manager-taak.

constraints?: BatchTaskConstraints

Waarde van eigenschap

containerSettings

De instellingen voor de container waaronder de Job Manager-taak wordt uitgevoerd. Als voor de pool die deze taak wordt uitgevoerd, een containerconfiguratieset is ingesteld, moet dit ook worden ingesteld. Als de pool die deze taak uitvoert, geen containerConfiguration-set heeft, mag dit niet worden ingesteld. Wanneer dit is opgegeven, worden alle mappen recursief onder de AZ_BATCH_NODE_ROOT_DIR (de hoofdmap van Azure Batch-mappen op het knooppunt) toegewezen aan de container, worden alle omgevingsvariabelen van de taak toegewezen aan de container en wordt de opdrachtregel Taak uitgevoerd in de container. Bestanden die worden geproduceerd in de container buiten AZ_BATCH_NODE_ROOT_DIR worden mogelijk niet weergegeven op de hostschijf, wat betekent dat Batch-bestands-API's geen toegang hebben tot deze bestanden.

containerSettings?: BatchTaskContainerSettings

Waarde van eigenschap

displayName

De weergavenaam van de jobbeheertaak. Het hoeft niet uniek te zijn en mag unicode-tekens bevatten tot een maximale lengte van 1024.

displayName?: string

Waarde van eigenschap

string

environmentSettings

Een lijst met omgevingsvariabele-instellingen voor de taak Job Manager.

environmentSettings?: EnvironmentSetting[]

Waarde van eigenschap

id

Een tekenreeks die de Job Manager-taak uniek identificeert binnen de taak. De id kan elke combinatie van alfanumerieke tekens bevatten, inclusief afbreekstreepjes en onderstrepingstekens en mag niet meer dan 64 tekens bevatten.

id: string

Waarde van eigenschap

string

killJobOnCompletion

Of de voltooiing van de jobbeheertaak de voltooiing van de volledige taak aangeeft. Indien waar, markeert de Batch-service de taak als voltooid wanneer de Taakbeheertaak is voltooid. Als er op dit moment nog taken worden uitgevoerd (anders dan jobrelease), worden deze taken beëindigd. Als dit onwaar is, heeft de voltooiing van de Job Manager-taak geen invloed op de taakstatus. In dit geval moet u het kenmerk onAllTasksComplete gebruiken om de taak te beëindigen of een client of gebruiker de taak expliciet laten beëindigen. Een voorbeeld hiervan is als jobbeheer een set taken maakt, maar vervolgens geen verdere rol neemt in de uitvoering. De standaardwaarde is waar. Als u de kenmerken onAllTasksComplete en onTaskFailure gebruikt om de levensduur van taken te beheren en de Job Manager-taak alleen gebruikt om de taken voor de taak te maken (niet om de voortgang te controleren), is het belangrijk om killJobOnCompletion in te stellen op false.

killJobOnCompletion?: boolean

Waarde van eigenschap

boolean

outputFiles

Een lijst met bestanden die de Batch-service vanaf het rekenknooppunt uploadt nadat de opdrachtregel is uitgevoerd. Voor taken met meerdere exemplaren worden de bestanden alleen geüpload vanuit het rekenknooppunt waarop de primaire taak wordt uitgevoerd.

outputFiles?: OutputFile[]

Waarde van eigenschap

requiredSlots

Het aantal planningssites dat de taak moet uitvoeren. De standaardwaarde is 1. Een taak kan alleen worden gepland om te worden uitgevoerd op een rekenknooppunt als het knooppunt voldoende vrije planningssites beschikbaar heeft. Voor taken met meerdere exemplaren wordt deze eigenschap niet ondersteund en mag deze niet worden opgegeven.

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 Job Manager-taak exclusief gebruik vereist van het rekenknooppunt waarop deze wordt uitgevoerd. Indien waar, worden er geen andere taken uitgevoerd op hetzelfde knooppunt zolang jobbeheer wordt uitgevoerd. Als dit onwaar is, kunnen andere taken tegelijk worden uitgevoerd met Job Manager op een rekenknooppunt. De taak van Job Manager telt normaal gesproken op basis van de limiet voor gelijktijdige taken van het rekenknooppunt. Dit is dus alleen relevant als het rekenknooppunt meerdere gelijktijdige taken toestaat. De standaardwaarde is waar.

runExclusive?: boolean

Waarde van eigenschap

boolean

userIdentity

De gebruikersidentiteit waaronder de Job Manager-taak wordt uitgevoerd. Als u dit weglaat, wordt de taak uitgevoerd als een niet-gebruiker met beheerdersrechten die uniek is voor de taak.

userIdentity?: UserIdentity

Waarde van eigenschap