BatchStartTask interface
Batch försöker utföra uppgifter igen när en återställningsåtgärd utlöses på en nod. Exempel på återställningsåtgärder är (men är inte begränsade till) när en nod med feltillstånd startas om eller en beräkningsnod försvinner på grund av värdfel. Återförsök på grund av återställningsåtgärder är oberoende av och räknas inte mot maxTaskRetryCount. Även om maxTaskRetryCount är 0 kan ett internt återförsök på grund av en återställningsåtgärd inträffa. Därför bör alla aktiviteter vara idempotent. Det innebär att Uppgifter måste tolerera att avbrytas och startas om utan att orsaka skada eller duplicera data. Bästa praxis för långvariga uppgifter är att använda någon form av kontrollpunkter. I vissa fall kan StartTask köras igen även om beräkningsnoden inte startades om. Särskild försiktighet bör iakttas för att undvika StartTasks som skapar utbrytarprocesser eller installerar/startar tjänster från Arbetskatalogen StartTask, eftersom detta hindrar Batch från att kunna köra StartTask igen.
Egenskaper
| command |
Kommandoraden i StartTask. Kommandoraden körs inte under ett gränssnitt och kan därför inte dra nytta av gränssnittsfunktioner som miljövariabelexpansion. Om du vill dra nytta av sådana funktioner bör du anropa gränssnittet på kommandoraden, till exempel med hjälp av "cmd /c MyCommand" i Windows eller "/bin/sh -c MyCommand" i Linux. Om kommandoraden refererar till filsökvägar bör den använda en relativ sökväg (i förhållande till arbetskatalogen Uppgift) eller använda miljövariabeln i Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| container |
Inställningarna för containern under vilken StartTask körs. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten till Azure Batch-katalogerna på noden) in i containern, alla Task-miljövariabler mappas in i containern och Task-kommandoraden körs i containern. Filer som produceras i containern utanför AZ_BATCH_NODE_ROOT_DIR kanske inte reflekteras till värddisken, vilket innebär att batchfil-API:er inte kan komma åt dessa filer. |
| environment |
En lista över miljövariabelinställningar för StartTask. |
| max |
Det maximala antalet gånger som aktiviteten kan försökas igen. Batch-tjänsten försöker utföra en aktivitet igen om slutkoden inte är noll. Observera att det här värdet specifikt styr antalet återförsök. Batch-tjänsten provar uppgiften en gång och kan sedan försöka upp till den här gränsen igen. Om det maximala antalet återförsök till exempel är 3, försöker Batch aktiviteten upp till 4 gånger (ett första försök och 3 återförsök). Om det maximala antalet återförsök är 0 försöker inte Batch-tjänsten uppgiften igen. Om det maximala antalet återförsök är -1 försöker Batch-tjänsten aktiviteten utan begränsning igen, men detta rekommenderas inte för en startaktivitet eller någon aktivitet. Standardvärdet är 0 (inga återförsök). |
| resource |
En lista över filer som Batch-tjänsten laddar ned till beräkningsnoden innan du kör kommandoraden. Det finns en maximal storlek för listan över resursfiler. När maxstorleken överskrids misslyckas begäran och svarsfelkoden requestEntityTooLarge. Om detta inträffar måste samlingen av ResourceFiles minskas i storlek. Detta kan uppnås med hjälp av .zip filer, programpaket eller Docker-containrar. Filer som visas under det här elementet finns i arbetskatalogen för aktiviteten. |
| user |
Användaridentiteten under vilken StartTask körs. Om den utelämnas körs Uppgiften som en icke-administrativ användare unik för uppgiften. |
| wait |
Om Batch-tjänsten ska vänta tills StartTask har slutförts (d.v.s. avsluta med slutkod 0) innan du schemalägger aktiviteter på beräkningsnoden. Om true och StartTask misslyckas på en nod, försöker Batch-tjänsten starta om StartTask upp till det maximala antalet återförsök (maxTaskRetryCount). Om aktiviteten fortfarande inte har slutförts efter alla återförsök markerar Batch-tjänsten noden oanvändbar och schemalägger inte Aktiviteter till den. Det här villkoret kan identifieras via beräkningsnodens tillstånd och information om felinformation. Om det är falskt väntar inte Batch-tjänsten på att StartTask ska slutföras. I det här fallet kan andra uppgifter börja köras på beräkningsnoden medan StartTask fortfarande körs. och även om StartTask misslyckas fortsätter nya aktiviteter att schemaläggas på beräkningsnoden. Standardvärdet är sant. |
Fastighetsdetaljer
commandLine
Kommandoraden i StartTask. Kommandoraden körs inte under ett gränssnitt och kan därför inte dra nytta av gränssnittsfunktioner som miljövariabelexpansion. Om du vill dra nytta av sådana funktioner bör du anropa gränssnittet på kommandoraden, till exempel med hjälp av "cmd /c MyCommand" i Windows eller "/bin/sh -c MyCommand" i Linux. Om kommandoraden refererar till filsökvägar bör den använda en relativ sökväg (i förhållande till arbetskatalogen Uppgift) eller använda miljövariabeln i Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Fastighetsvärde
string
containerSettings
Inställningarna för containern under vilken StartTask körs. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten till Azure Batch-katalogerna på noden) in i containern, alla Task-miljövariabler mappas in i containern och Task-kommandoraden körs i containern. Filer som produceras i containern utanför AZ_BATCH_NODE_ROOT_DIR kanske inte reflekteras till värddisken, vilket innebär att batchfil-API:er inte kan komma åt dessa filer.
containerSettings?: BatchTaskContainerSettings
Fastighetsvärde
environmentSettings
En lista över miljövariabelinställningar för StartTask.
environmentSettings?: EnvironmentSetting[]
Fastighetsvärde
maxTaskRetryCount
Det maximala antalet gånger som aktiviteten kan försökas igen. Batch-tjänsten försöker utföra en aktivitet igen om slutkoden inte är noll. Observera att det här värdet specifikt styr antalet återförsök. Batch-tjänsten provar uppgiften en gång och kan sedan försöka upp till den här gränsen igen. Om det maximala antalet återförsök till exempel är 3, försöker Batch aktiviteten upp till 4 gånger (ett första försök och 3 återförsök). Om det maximala antalet återförsök är 0 försöker inte Batch-tjänsten uppgiften igen. Om det maximala antalet återförsök är -1 försöker Batch-tjänsten aktiviteten utan begränsning igen, men detta rekommenderas inte för en startaktivitet eller någon aktivitet. Standardvärdet är 0 (inga återförsök).
maxTaskRetryCount?: number
Fastighetsvärde
number
resourceFiles
En lista över filer som Batch-tjänsten laddar ned till beräkningsnoden innan du kör kommandoraden. Det finns en maximal storlek för listan över resursfiler. När maxstorleken överskrids misslyckas begäran och svarsfelkoden requestEntityTooLarge. Om detta inträffar måste samlingen av ResourceFiles minskas i storlek. Detta kan uppnås med hjälp av .zip filer, programpaket eller Docker-containrar. Filer som visas under det här elementet finns i arbetskatalogen för aktiviteten.
resourceFiles?: ResourceFile[]
Fastighetsvärde
userIdentity
Användaridentiteten under vilken StartTask körs. Om den utelämnas körs Uppgiften som en icke-administrativ användare unik för uppgiften.
userIdentity?: UserIdentity
Fastighetsvärde
waitForSuccess
Om Batch-tjänsten ska vänta tills StartTask har slutförts (d.v.s. avsluta med slutkod 0) innan du schemalägger aktiviteter på beräkningsnoden. Om true och StartTask misslyckas på en nod, försöker Batch-tjänsten starta om StartTask upp till det maximala antalet återförsök (maxTaskRetryCount). Om aktiviteten fortfarande inte har slutförts efter alla återförsök markerar Batch-tjänsten noden oanvändbar och schemalägger inte Aktiviteter till den. Det här villkoret kan identifieras via beräkningsnodens tillstånd och information om felinformation. Om det är falskt väntar inte Batch-tjänsten på att StartTask ska slutföras. I det här fallet kan andra uppgifter börja köras på beräkningsnoden medan StartTask fortfarande körs. och även om StartTask misslyckas fortsätter nya aktiviteter att schemaläggas på beräkningsnoden. Standardvärdet är sant.
waitForSuccess?: boolean
Fastighetsvärde
boolean