BatchJobPreparationTask interface

Een taakvoorbereidingstaak die moet worden uitgevoerd voordat taken van de taak op een bepaald rekenknooppunt worden uitgevoerd. U kunt jobvoorbereiding gebruiken om een knooppunt voor te bereiden om taken voor de taak uit te voeren. Activiteiten die vaak worden uitgevoerd in taakvoorbereiding zijn onder andere: algemene resourcebestanden downloaden die door alle taken in de taak worden gebruikt. De taakvoorbereidingstaak kan deze algemene resourcebestanden downloaden naar de gedeelde locatie op het knooppunt. (AZ_BATCH_NODE_ROOT_DIR\shared) of start een lokale service op het knooppunt, zodat alle taken van die taak ermee kunnen communiceren. Als de taakvoorbereidingstaak mislukt (dat wil gezegd, wordt het aantal nieuwe pogingen uitgeput voordat u afsluit met afsluitcode 0), voert Batch taken van deze taak niet uit op het knooppunt. Het rekenknooppunt blijft niet in aanmerking om taken van deze taak uit te voeren totdat deze opnieuw wordt geinstallatiekopie gemaakt. Het rekenknooppunt blijft actief en kan worden gebruikt voor andere taken. De taakvoorbereidingstaak kan meerdere keren worden uitgevoerd op hetzelfde knooppunt. Daarom moet u de jobvoorbereidingstaak schrijven om de heruitvoering af te handelen. Als het knooppunt opnieuw wordt opgestart, wordt de jobvoorbereidingstaak opnieuw uitgevoerd op het rekenknooppunt voordat u een andere taak van de taak plant, als opnieuw uitvoerenOnNodeRebootAfterSuccess waar is of als de taakvoorbereidingstaak nog niet eerder is voltooid. Als het knooppunt opnieuw wordt gemaakt, wordt de taakvoorbereidingstaak opnieuw uitgevoerd voordat u een taak van de taak plant. 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

commandLine

De commandoregel van de Job Preparation Task. 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 Job Preparation Task.

containerSettings

De instellingen voor de container waaronder de taak Job Preparation Task draait. 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.

environmentSettings

Een lijst met instellingen voor omgevingsvariabelen voor de taak Jobvoorbereiding.

id

Een string die de Job Preparation Task uniek binnen de Job identificeert. De ID kan elke combinatie van alfanumerieke tekens bevatten, inclusief koppeltekens en onderstreepjes, en mag niet meer dan 64 tekens bevatten. Als je deze eigenschap niet specificeert, kent de Batch-service een standaardwaarde toe van 'jobpreparation'. Geen enkele andere taak in de functie kan dezelfde ID hebben als de taakvoorbereidingstaak. Als je probeert een Task met hetzelfde id in te dienen, wijst de Batch-service het verzoek met de foutcode TaskIdSameAsJobPreparationTask af; als je de REST API direct aanroept, is de HTTP-statuscode 409 (Conflict).

rerunOnNodeRebootAfterSuccess

Of de Batch-service de Job Preparation Task opnieuw moet uitvoeren nadat een Compute Node is herstart. De taak voorbereiding wordt altijd opnieuw uitgevoerd als een rekenknoop opnieuw wordt geimaged, of als de taak voorbereiding niet is voltooid (bijvoorbeeld omdat de herstart plaatsvond terwijl de taak draaide). Daarom moet je altijd een Job Preparation Task schrijven om idempotent te zijn en correct te functioneren als je deze meerdere keren uitvoert. De standaardwaarde is waar.

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.

userIdentity

De gebruikersidentiteit waaronder de Job Preparation Task wordt uitgevoerd. Indien weggelaten, draait de taak als een niet-administratieve gebruiker die uniek is voor de taak op Windows Compute Nodes, of als een niet-administratieve gebruiker uniek voor de Pool op Linux Compute Nodes.

waitForSuccess

Of de batchservice moet wachten tot de taak voorbereidingstaak succesvol is afgerond voordat andere taken van de taak op de rekenknoop worden gepland. Een Job Preparation Task is succesvol voltooid als deze afsluit met exitcode 0. Als het waar is en de Job Preparation Task faalt op een Node, probeert de Batch-service de Job Preparation Task opnieuw tot het maximale aantal retrys (zoals gespecificeerd in het constraints-element). Als de taak na alle herpogingen nog steeds niet succesvol is voltooid, zal de batchservice de taken van de taak niet naar de Node plannen. De Node blijft actief en komt in aanmerking om taken van andere taken uit te voeren. Als het niet klopt, wacht de batchservice niet tot de taak Job Preparation is voltooid. In dat geval kunnen andere taken van de taak beginnen met uitvoeren op de Compute Node terwijl de Job Preparation Task nog draait; en zelfs als de taak voor taakvoorbereiding faalt, blijven nieuwe taken worden gepland op de rekenknoop. De standaardwaarde is waar.

Eigenschapdetails

commandLine

De commandoregel van de Job Preparation Task. 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 Job Preparation Task.

constraints?: BatchTaskConstraints

Waarde van eigenschap

containerSettings

De instellingen voor de container waaronder de taak Job Preparation Task draait. 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

environmentSettings

Een lijst met instellingen voor omgevingsvariabelen voor de taak Jobvoorbereiding.

environmentSettings?: EnvironmentSetting[]

Waarde van eigenschap

id

Een string die de Job Preparation Task uniek binnen de Job identificeert. De ID kan elke combinatie van alfanumerieke tekens bevatten, inclusief koppeltekens en onderstreepjes, en mag niet meer dan 64 tekens bevatten. Als je deze eigenschap niet specificeert, kent de Batch-service een standaardwaarde toe van 'jobpreparation'. Geen enkele andere taak in de functie kan dezelfde ID hebben als de taakvoorbereidingstaak. Als je probeert een Task met hetzelfde id in te dienen, wijst de Batch-service het verzoek met de foutcode TaskIdSameAsJobPreparationTask af; als je de REST API direct aanroept, is de HTTP-statuscode 409 (Conflict).

id?: string

Waarde van eigenschap

string

rerunOnNodeRebootAfterSuccess

Of de Batch-service de Job Preparation Task opnieuw moet uitvoeren nadat een Compute Node is herstart. De taak voorbereiding wordt altijd opnieuw uitgevoerd als een rekenknoop opnieuw wordt geimaged, of als de taak voorbereiding niet is voltooid (bijvoorbeeld omdat de herstart plaatsvond terwijl de taak draaide). Daarom moet je altijd een Job Preparation Task schrijven om idempotent te zijn en correct te functioneren als je deze meerdere keren uitvoert. De standaardwaarde is waar.

rerunOnNodeRebootAfterSuccess?: boolean

Waarde van eigenschap

boolean

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

userIdentity

De gebruikersidentiteit waaronder de Job Preparation Task wordt uitgevoerd. Indien weggelaten, draait de taak als een niet-administratieve gebruiker die uniek is voor de taak op Windows Compute Nodes, of als een niet-administratieve gebruiker uniek voor de Pool op Linux Compute Nodes.

userIdentity?: UserIdentity

Waarde van eigenschap

waitForSuccess

Of de batchservice moet wachten tot de taak voorbereidingstaak succesvol is afgerond voordat andere taken van de taak op de rekenknoop worden gepland. Een Job Preparation Task is succesvol voltooid als deze afsluit met exitcode 0. Als het waar is en de Job Preparation Task faalt op een Node, probeert de Batch-service de Job Preparation Task opnieuw tot het maximale aantal retrys (zoals gespecificeerd in het constraints-element). Als de taak na alle herpogingen nog steeds niet succesvol is voltooid, zal de batchservice de taken van de taak niet naar de Node plannen. De Node blijft actief en komt in aanmerking om taken van andere taken uit te voeren. Als het niet klopt, wacht de batchservice niet tot de taak Job Preparation is voltooid. In dat geval kunnen andere taken van de taak beginnen met uitvoeren op de Compute Node terwijl de Job Preparation Task nog draait; en zelfs als de taak voor taakvoorbereiding faalt, blijven nieuwe taken worden gepland op de rekenknoop. De standaardwaarde is waar.

waitForSuccess?: boolean

Waarde van eigenschap

boolean