Dela via


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

allowLowPriorityNode

Om Jobbhanterar-uppgiften kan köras på en plats-/lågprioriterad beräkningsnod. Standardvärdet är sant.

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.

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.

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).

constraints

Begränsningar som gäller för Jobbhanterar-uppgiften.

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.

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.

environmentSettings

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.

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.

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.

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.

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.

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.

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.

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

Fastighetsvärde