BatchJobManagerTask interface
Anger information om en Job Manager-uppgift. Job Manager-aktiviteten startas automatiskt när jobbet skapas. Batch-tjänsten försöker schemalägga Job Manager-aktiviteten före andra aktiviteter i jobbet. När du krymper en pool försöker Batch-tjänsten bevara noder där Job Manager-uppgifter körs så länge som möjligt (det vill: Beräkningsnoder som kör "normala" aktiviteter tas bort innan Beräkningsnoder som kör Jobbhanterarens uppgifter). När en Job Manager-uppgift misslyckas och måste startas om försöker systemet schemalägga den med högsta prioritet. Om det inte finns några tillgängliga inaktiva beräkningsnoder kan systemet avsluta en av de aktiviteter som körs i poolen och returnera den till kön för att göra plats för jobbhanterarens uppgift att starta om. Observera att en Job Manager-uppgift i ett jobb inte har prioritet framför Aktiviteter i andra jobb. I jobb observeras endast prioriteringar på jobbnivå. Om till exempel en Job Manager i ett prioritet 0-jobb måste startas om, förskjuts inte Uppgifter för ett prioritet 1-jobb. 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.
Egenskaper
| allow |
Om Jobbhanterar-uppgiften kan köras på en plats-/lågprioriterad beräkningsnod. Standardvärdet är sant. |
| application |
En lista över applikationspaket som batchtjänsten kommer att distribuera till beräkningsnoden innan kommandoraden körs. Applikationspaket laddas ner och distribueras till en delad katalog, inte till arbetskatalogen Task. Därför, om ett refererat applikationspaket redan finns på beräkningsnoden och är uppdaterat, så laddas det inte ner igen; den befintliga kopian på Compute Node används. Om ett refererat applikationspaket inte kan installeras, till exempel för att paketet har raderats eller för att nedladdningen misslyckades, misslyckas uppgiften. |
| authentication |
Inställningarna för en autentiseringstoken som aktiviteten kan använda för att utföra Batch-tjänståtgärder. Om denna egenskap är inställd förser batchtjänsten uppgiften med en autentiseringstoken som kan användas för att autentisera batchtjänstoperationer utan att behöva en kontoåtkomstnyckel. Token tillhandahålls via miljövariabeln AZ_BATCH_AUTHENTICATION_TOKEN. De operationer som Uppgiften kan utföra med token beror på inställningarna. Till exempel kan en uppgift begära jobbbehörigheter för att lägga till andra uppgifter i jobbet, eller kontrollera statusen för jobbet eller andra uppgifter under jobbet. |
| command |
Kommandoraden för Jobbhanterar-uppgiften. 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). |
| constraints | Begränsningar som gäller för Jobbhanterar-uppgiften. |
| container |
Inställningarna för behållaren under vilken Jobbhanterar-uppgiften körs. Om poolen som ska köra denna uppgift har containerConfiguration inställd, måste detta också ställas in. Om poolen som ska köra denna uppgift inte har containerConfiguration satt, får detta inte sättas. 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. |
| display |
Visningsnamnet på Jobbhanteraruppgiften. Den behöver inte vara unik och kan innehålla vilka Unicode-tecken som helst upp till en maximal längd på 1024. |
| environment |
En lista över miljövariableinställningar för Jobbhanterar-uppgiften. |
| id | En sträng som unikt identifierar Jobbchefens uppgift inom jobbet. ID:t kan innehålla vilken kombination av alfanumeriska tecken som helst, inklusive bindestreck och understreck, och får inte innehålla mer än 64 tecken. |
| kill |
Om slutförandet av Jobbhanteraruppgiften betyder att hela jobbet är slutfört. Om det stämmer, när Jobbhanterar-uppgiften slutförs, markerar batchtjänsten jobbet som slutfört. Om några uppgifter fortfarande körs vid denna tidpunkt (förutom Jobbfrigörelse) avslutas dessa uppgifter. Om det är falskt påverkar inte slutförandet av Jobbhanterar-uppgiften jobbstatusen. I det här fallet bör du antingen använda attributet onAllTasksComplete för att avsluta jobbet, eller låta en klient eller användare avsluta jobbet uttryckligen. Ett exempel på detta är om Jobbhanteraren skapar en uppsättning uppgifter men sedan inte längre tar någon roll i deras utförande. Standardvärdet är sant. Om du använder attributen onAllTasksComplete och onTaskFailure för att kontrollera jobbets livslängd, och endast använder Job Manager-uppgiften för att skapa uppgifterna för jobbet (inte för att övervaka framsteg), är det viktigt att sätta killJobOnCompletion till false. |
| output |
En lista över filer som Batch-tjänsten laddar upp från Compute Node efter att kommandoraden har körts. För flerinstansuppgifter laddas filerna endast upp från den beräkningsnod där huvuduppgiften körs. |
| required |
Antalet schemaläggningsplatser som Uppgiften kräver för att köras. Standardvärdet är 1. En Task kan endast schemaläggas att köras på en beräkningsnod om noden har tillräckligt många lediga schemaläggningsplatser tillgängliga. För multi-instans Tasks stöds inte denna egenskap och får inte specificeras. |
| resource |
En lista över filer som Batch-tjänsten laddar ned till beräkningsnoden innan du kör kommandoraden. Filer som visas under det här elementet finns i arbetskatalogen för aktiviteten. 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. |
| run |
Om Jobbhanterar-uppgiften kräver exklusiv användning av beräkningsnoden där den körs. Om det stämmer kommer inga andra uppgifter att köras på samma nod så länge Jobbhanteraren körs. Om det är falskt kan andra uppgifter köras samtidigt med Jobbhanteraren på en beräkningsnod. Jobbhanteraruppgiften räknas normalt mot beräkningsnodens samtidiga uppgiftsgräns, så detta är endast relevant om beräkningsnoden tillåter flera samtidiga uppgifter. Standardvärdet är sant. |
| user |
Användaridentiteten under vilken Jobbhanterar-uppgiften körs. Om den utelämnas körs Uppgiften som en icke-administrativ användare unik för uppgiften. |
Fastighetsdetaljer
allowLowPriorityNode
Om Jobbhanterar-uppgiften kan köras på en plats-/lågprioriterad beräkningsnod. Standardvärdet är sant.
allowLowPriorityNode?: boolean
Fastighetsvärde
boolean
applicationPackageReferences
En lista över applikationspaket som batchtjänsten kommer att distribuera till beräkningsnoden innan kommandoraden körs. Applikationspaket laddas ner och distribueras till en delad katalog, inte till arbetskatalogen Task. Därför, om ett refererat applikationspaket redan finns på beräkningsnoden och är uppdaterat, så laddas det inte ner igen; den befintliga kopian på Compute Node används. Om ett refererat applikationspaket inte kan installeras, till exempel för att paketet har raderats eller för att nedladdningen misslyckades, misslyckas uppgiften.
applicationPackageReferences?: BatchApplicationPackageReference[]
Fastighetsvärde
authenticationTokenSettings
Inställningarna för en autentiseringstoken som aktiviteten kan använda för att utföra Batch-tjänståtgärder. Om denna egenskap är inställd förser batchtjänsten uppgiften med en autentiseringstoken som kan användas för att autentisera batchtjänstoperationer utan att behöva en kontoåtkomstnyckel. Token tillhandahålls via miljövariabeln AZ_BATCH_AUTHENTICATION_TOKEN. De operationer som Uppgiften kan utföra med token beror på inställningarna. Till exempel kan en uppgift begära jobbbehörigheter för att lägga till andra uppgifter i jobbet, eller kontrollera statusen för jobbet eller andra uppgifter under jobbet.
authenticationTokenSettings?: AuthenticationTokenSettings
Fastighetsvärde
commandLine
Kommandoraden för Jobbhanterar-uppgiften. 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
constraints
Begränsningar som gäller för Jobbhanterar-uppgiften.
constraints?: BatchTaskConstraints
Fastighetsvärde
containerSettings
Inställningarna för behållaren under vilken Jobbhanterar-uppgiften körs. Om poolen som ska köra denna uppgift har containerConfiguration inställd, måste detta också ställas in. Om poolen som ska köra denna uppgift inte har containerConfiguration satt, får detta inte sättas. 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
displayName
Visningsnamnet på Jobbhanteraruppgiften. Den behöver inte vara unik och kan innehålla vilka Unicode-tecken som helst upp till en maximal längd på 1024.
displayName?: string
Fastighetsvärde
string
environmentSettings
En lista över miljövariableinställningar för Jobbhanterar-uppgiften.
environmentSettings?: EnvironmentSetting[]
Fastighetsvärde
id
En sträng som unikt identifierar Jobbchefens uppgift inom jobbet. ID:t kan innehålla vilken kombination av alfanumeriska tecken som helst, inklusive bindestreck och understreck, och får inte innehålla mer än 64 tecken.
id: string
Fastighetsvärde
string
killJobOnCompletion
Om slutförandet av Jobbhanteraruppgiften betyder att hela jobbet är slutfört. Om det stämmer, när Jobbhanterar-uppgiften slutförs, markerar batchtjänsten jobbet som slutfört. Om några uppgifter fortfarande körs vid denna tidpunkt (förutom Jobbfrigörelse) avslutas dessa uppgifter. Om det är falskt påverkar inte slutförandet av Jobbhanterar-uppgiften jobbstatusen. I det här fallet bör du antingen använda attributet onAllTasksComplete för att avsluta jobbet, eller låta en klient eller användare avsluta jobbet uttryckligen. Ett exempel på detta är om Jobbhanteraren skapar en uppsättning uppgifter men sedan inte längre tar någon roll i deras utförande. Standardvärdet är sant. Om du använder attributen onAllTasksComplete och onTaskFailure för att kontrollera jobbets livslängd, och endast använder Job Manager-uppgiften för att skapa uppgifterna för jobbet (inte för att övervaka framsteg), är det viktigt att sätta killJobOnCompletion till false.
killJobOnCompletion?: boolean
Fastighetsvärde
boolean
outputFiles
En lista över filer som Batch-tjänsten laddar upp från Compute Node efter att kommandoraden har körts. För flerinstansuppgifter laddas filerna endast upp från den beräkningsnod där huvuduppgiften körs.
outputFiles?: OutputFile[]
Fastighetsvärde
requiredSlots
Antalet schemaläggningsplatser som Uppgiften kräver för att köras. Standardvärdet är 1. En Task kan endast schemaläggas att köras på en beräkningsnod om noden har tillräckligt många lediga schemaläggningsplatser tillgängliga. För multi-instans Tasks stöds inte denna egenskap och får inte specificeras.
requiredSlots?: number
Fastighetsvärde
number
resourceFiles
En lista över filer som Batch-tjänsten laddar ned till beräkningsnoden innan du kör kommandoraden. Filer som visas under det här elementet finns i arbetskatalogen för aktiviteten. 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.
resourceFiles?: ResourceFile[]
Fastighetsvärde
runExclusive
Om Jobbhanterar-uppgiften kräver exklusiv användning av beräkningsnoden där den körs. Om det stämmer kommer inga andra uppgifter att köras på samma nod så länge Jobbhanteraren körs. Om det är falskt kan andra uppgifter köras samtidigt med Jobbhanteraren på en beräkningsnod. Jobbhanteraruppgiften räknas normalt mot beräkningsnodens samtidiga uppgiftsgräns, så detta är endast relevant om beräkningsnoden tillåter flera samtidiga uppgifter. Standardvärdet är sant.
runExclusive?: boolean
Fastighetsvärde
boolean
userIdentity
Användaridentiteten under vilken Jobbhanterar-uppgiften körs. Om den utelämnas körs Uppgiften som en icke-administrativ användare unik för uppgiften.
userIdentity?: UserIdentity