BatchJobManagerTaskOutput 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 Job Manager-taak kan worden uitgevoerd op een rekenknooppunt met een spot-/lage prioriteit. De standaardwaarde is waar. |
| application |
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. |
| authentication |
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. |
| command |
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. |
| container |
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. |
| display |
De weergavenaam van de jobbeheertaak. Het hoeft niet uniek te zijn en mag unicode-tekens bevatten tot een maximale lengte van 1024. |
| environment |
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. |
| kill |
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. |
| output |
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. |
| required |
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. |
| 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 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. |
| user |
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?: BatchApplicationPackageReferenceOutput[]
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?: AuthenticationTokenSettingsOutput
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?: BatchTaskConstraintsOutput
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?: BatchTaskContainerSettingsOutput
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?: EnvironmentSettingOutput[]
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?: OutputFileOutput[]
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?: ResourceFileOutput[]
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?: UserIdentityOutput