JobManagerTask interface
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 Job Manager-aktiviteten kan köras på en lågprioriterad beräkningsnod. Standardvärdet är sant. |
| application |
En lista över programpaket som Batch-tjänsten distribuerar till beräkningsnoden innan kommandoraden körs. Programpaket laddas ned och distribueras till en delad katalog, inte till arbetskatalogen Aktivitet. Om ett refererat programpaket redan finns på beräkningsnoden och är uppdaterat laddas det därför inte ned igen. den befintliga kopian på beräkningsnoden används. Om ett refererat programpaket inte kan installeras, till exempel på grund av att paketet har tagits bort eller eftersom 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 den här egenskapen anges tillhandahåller Batch-tjänsten uppgiften med en autentiseringstoken som kan användas för att autentisera Batch-tjänståtgärder utan att kräva en kontoåtkomstnyckel. Token tillhandahålls via miljövariabeln AZ_BATCH_AUTHENTICATION_TOKEN. Vilka åtgärder som aktiviteten kan utföra med hjälp av token beror på inställningarna. En aktivitet kan till exempel begära jobbbehörigheter för att lägga till andra aktiviteter i jobbet, eller kontrollera status för jobbet eller andra aktiviteter under jobbet. |
| command |
Kommandoraden för Job Manager-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://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). |
| constraints | Begränsningar som gäller för Job Manager-aktiviteten. |
| container |
Inställningarna för containern under vilken Job Manager-aktiviteten körs. Om den pool som ska köra den här aktiviteten har containerConfiguration inställd måste även detta anges. Om den pool som ska köra den här aktiviteten inte har containerConfiguration inställd får detta inte anges. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten för Azure Batch-kataloger på noden) till containern, alla miljövariabler för aktivitet mappas till containern och kommandoraden Aktivitet körs i containern. Filer som skapas i containern utanför AZ_BATCH_NODE_ROOT_DIR kanske inte återspeglas på värddisken, vilket innebär att Batch-fil-API:er inte kommer att kunna komma åt dessa filer. |
| display |
Visningsnamnet för Job Manager-aktiviteten. Det behöver inte vara unikt och kan innehålla unicode-tecken upp till en maximal längd på 1024. |
| environment |
En lista över miljövariabelinställningar för Job Manager-aktiviteten. |
| id | En sträng som unikt identifierar jobbhanterarens uppgift i jobbet. ID:t kan innehålla valfri kombination av alfanumeriska tecken, inklusive bindestreck och understreck och får inte innehålla fler än 64 tecken. |
| kill |
Om slutförandet av Job Manager-uppgiften innebär att hela jobbet har slutförts. Om det är sant markerar Batch-tjänsten jobbet som slutfört när jobbet har slutförts. Om några aktiviteter fortfarande körs just nu (förutom Jobbversion) avslutas dessa aktiviteter. Om det är falskt påverkar inte slutförandet av Job Manager-aktiviteten 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 explicit. Ett exempel på detta är om Job Manager skapar en uppsättning uppgifter men sedan inte tar någon ytterligare roll i körningen. Standardvärdet är sant. Om du använder attributen onAllTasksComplete och onTaskFailure för att styra jobbets livslängd och endast använder Job Manager-aktiviteten för att skapa uppgifter för jobbet (inte för att övervaka förloppet) är det viktigt att ange killJobOnCompletion till false. |
| output |
En lista över filer som Batch-tjänsten laddar upp från beräkningsnoden när kommandoraden har körts. För aktiviteter med flera instanser laddas filerna bara upp från beräkningsnoden där den primära aktiviteten körs. |
| required |
Antalet schemaläggningsplatser som aktiviteten kräver för att köras. Standardvärdet är 1. En aktivitet kan bara schemaläggas att köras på en beräkningsnod om noden har tillräckligt med lediga schemaläggningsplatser tillgängliga. För uppgifter med flera instanser måste detta vara 1. |
| 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 Job Manager-aktiviteten kräver exklusiv användning av beräkningsnoden där den körs. Om sant körs inga andra aktiviteter på samma nod så länge som Jobbhanteraren körs. Om det är falskt kan andra uppgifter köras samtidigt med Jobbhanteraren på en beräkningsnod. Job Manager-aktiviteten räknas normalt mot beräkningsnodens samtidiga aktivitetsgräns, så detta är bara relevant om beräkningsnoden tillåter flera samtidiga aktiviteter. Standardvärdet är sant. |
| user |
Användaridentiteten som Jobbhanterarens uppgift körs under. Om den utelämnas körs aktiviteten som en icke-administrativ användare som är unik för aktiviteten. |
Egenskapsinformation
allowLowPriorityNode
Om Job Manager-aktiviteten kan köras på en lågprioriterad beräkningsnod. Standardvärdet är sant.
allowLowPriorityNode?: boolean
Egenskapsvärde
boolean
applicationPackageReferences
En lista över programpaket som Batch-tjänsten distribuerar till beräkningsnoden innan kommandoraden körs. Programpaket laddas ned och distribueras till en delad katalog, inte till arbetskatalogen Aktivitet. Om ett refererat programpaket redan finns på beräkningsnoden och är uppdaterat laddas det därför inte ned igen. den befintliga kopian på beräkningsnoden används. Om ett refererat programpaket inte kan installeras, till exempel på grund av att paketet har tagits bort eller eftersom nedladdningen misslyckades, misslyckas uppgiften.
applicationPackageReferences?: ApplicationPackageReference[]
Egenskapsvärde
authenticationTokenSettings
Inställningarna för en autentiseringstoken som aktiviteten kan använda för att utföra Batch-tjänståtgärder. Om den här egenskapen anges tillhandahåller Batch-tjänsten uppgiften med en autentiseringstoken som kan användas för att autentisera Batch-tjänståtgärder utan att kräva en kontoåtkomstnyckel. Token tillhandahålls via miljövariabeln AZ_BATCH_AUTHENTICATION_TOKEN. Vilka åtgärder som aktiviteten kan utföra med hjälp av token beror på inställningarna. En aktivitet kan till exempel begära jobbbehörigheter för att lägga till andra aktiviteter i jobbet, eller kontrollera status för jobbet eller andra aktiviteter under jobbet.
authenticationTokenSettings?: AuthenticationTokenSettings
Egenskapsvärde
commandLine
Kommandoraden för Job Manager-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://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Egenskapsvärde
string
constraints
Begränsningar som gäller för Job Manager-aktiviteten.
constraints?: TaskConstraints
Egenskapsvärde
containerSettings
Inställningarna för containern under vilken Job Manager-aktiviteten körs. Om den pool som ska köra den här aktiviteten har containerConfiguration inställd måste även detta anges. Om den pool som ska köra den här aktiviteten inte har containerConfiguration inställd får detta inte anges. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten för Azure Batch-kataloger på noden) till containern, alla miljövariabler för aktivitet mappas till containern och kommandoraden Aktivitet körs i containern. Filer som skapas i containern utanför AZ_BATCH_NODE_ROOT_DIR kanske inte återspeglas på värddisken, vilket innebär att Batch-fil-API:er inte kommer att kunna komma åt dessa filer.
containerSettings?: TaskContainerSettings
Egenskapsvärde
displayName
Visningsnamnet för Job Manager-aktiviteten. Det behöver inte vara unikt och kan innehålla unicode-tecken upp till en maximal längd på 1024.
displayName?: string
Egenskapsvärde
string
environmentSettings
En lista över miljövariabelinställningar för Job Manager-aktiviteten.
environmentSettings?: EnvironmentSetting[]
Egenskapsvärde
id
En sträng som unikt identifierar jobbhanterarens uppgift i jobbet. ID:t kan innehålla valfri kombination av alfanumeriska tecken, inklusive bindestreck och understreck och får inte innehålla fler än 64 tecken.
id: string
Egenskapsvärde
string
killJobOnCompletion
Om slutförandet av Job Manager-uppgiften innebär att hela jobbet har slutförts. Om det är sant markerar Batch-tjänsten jobbet som slutfört när jobbet har slutförts. Om några aktiviteter fortfarande körs just nu (förutom Jobbversion) avslutas dessa aktiviteter. Om det är falskt påverkar inte slutförandet av Job Manager-aktiviteten 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 explicit. Ett exempel på detta är om Job Manager skapar en uppsättning uppgifter men sedan inte tar någon ytterligare roll i körningen. Standardvärdet är sant. Om du använder attributen onAllTasksComplete och onTaskFailure för att styra jobbets livslängd och endast använder Job Manager-aktiviteten för att skapa uppgifter för jobbet (inte för att övervaka förloppet) är det viktigt att ange killJobOnCompletion till false.
killJobOnCompletion?: boolean
Egenskapsvärde
boolean
outputFiles
En lista över filer som Batch-tjänsten laddar upp från beräkningsnoden när kommandoraden har körts. För aktiviteter med flera instanser laddas filerna bara upp från beräkningsnoden där den primära aktiviteten körs.
outputFiles?: OutputFile[]
Egenskapsvärde
requiredSlots
Antalet schemaläggningsplatser som aktiviteten kräver för att köras. Standardvärdet är 1. En aktivitet kan bara schemaläggas att köras på en beräkningsnod om noden har tillräckligt med lediga schemaläggningsplatser tillgängliga. För uppgifter med flera instanser måste detta vara 1.
requiredSlots?: number
Egenskapsvä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[]
Egenskapsvärde
runExclusive
Om Job Manager-aktiviteten kräver exklusiv användning av beräkningsnoden där den körs. Om sant körs inga andra aktiviteter på samma nod så länge som Jobbhanteraren körs. Om det är falskt kan andra uppgifter köras samtidigt med Jobbhanteraren på en beräkningsnod. Job Manager-aktiviteten räknas normalt mot beräkningsnodens samtidiga aktivitetsgräns, så detta är bara relevant om beräkningsnoden tillåter flera samtidiga aktiviteter. Standardvärdet är sant.
runExclusive?: boolean
Egenskapsvärde
boolean
userIdentity
Användaridentiteten som Jobbhanterarens uppgift körs under. Om den utelämnas körs aktiviteten som en icke-administrativ användare som är unik för aktiviteten.
userIdentity?: UserIdentity