Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u grootschalige Azure Batch-oplossingen wilt bewaken en beheren, moet u mogelijk het aantal resources in verschillende statussen bepalen. Azure Batch biedt efficiënte bewerkingen voor het ophalen van tellingen voor Batch-taken en rekenknooppunten. U kunt deze bewerkingen gebruiken in plaats van mogelijk tijdrovende lijstquery's die gedetailleerde informatie retourneren over grote verzamelingen taken of knooppunten.
Taakaantallen ophalen krijgt een totaal aantal van actieve, lopende en voltooide taken in een opdracht, evenals van taken die zijn geslaagd of mislukt. Door taken in elke status te tellen, kunt u de voortgang van taken eenvoudig weergeven aan een gebruiker of onverwachte vertragingen of fouten detecteren die van invloed kunnen zijn op de taak.
List Pool Node Counts verwerft het aantal toegewezen en Spot-rekenknooppunten in elke pool die zich in verschillende staten bevinden: maken, inactief, offline, voortijdig beëindigd, opnieuw opstarten, herimageren, starten en andere. Door knooppunten in elke status te tellen, kunt u bepalen wanneer u voldoende rekenresources hebt om uw taken uit te voeren en potentiële problemen met uw pools te identificeren.
Soms zijn de getallen die door deze bewerkingen worden geretourneerd, mogelijk niet up-to-date. Als u er zeker van wilt zijn dat een telling juist is, gebruikt u een lijstquery om deze resources te tellen. Met lijstquery's kunt u ook informatie krijgen over andere Batch-resources, zoals toepassingen. Zie voor meer informatie over het toepassen van filters op lijstqueries Queries maken om Batch-resources efficiënt weer te geven.
Aantal taaktoestanden
Met de Get bewerking Taaktelling worden taken geteld op basis van de volgende statussen:
-
Actief: Een taak die in de wachtrij staat en klaar is om te worden uitgevoerd, maar momenteel niet is toegewezen aan een rekenknooppunt. Een taak is ook
activeals deze afhankelijk is van een bovenliggende taak die nog niet is voltooid. -
Wordt uitgevoerd: Een taak die is toegewezen aan een rekenknooppunt, maar nog niet is voltooid. Een taak wordt geteld als
runningwanneer de statuspreparingofrunningis, zoals aangegeven door deGetinformatie over een taak bewerking. - Voltooid: Een taak die niet meer in aanmerking komt voor uitvoering, omdat deze is voltooid of mislukt en ook de limiet voor opnieuw proberen is uitgeput.
-
Geslaagd: een taak waarbij het resultaat van de taakuitvoering is
success. Batch bepaalt of een taak is geslaagd of mislukt door deTaskExecutionResulteigenschap executionInfo te controleren. -
Mislukt: een taak waarbij het resultaat van de taakuitvoering is
failure.
In het volgende .NET-codevoorbeeld ziet u hoe u het aantal taken op status kunt ophalen.
var taskCounts = await batchClient.JobOperations.GetJobTaskCountsAsync("job-1");
Console.WriteLine("Task count in active state: {0}", taskCounts.Active);
Console.WriteLine("Task count in preparing or running state: {0}", taskCounts.Running);
Console.WriteLine("Task count in completed state: {0}", taskCounts.Completed);
Console.WriteLine("Succeeded task count: {0}", taskCounts.Succeeded);
Console.WriteLine("Failed task count: {0}", taskCounts.Failed);
U kunt een vergelijkbaar patroon gebruiken voor REST en andere ondersteunde talen om het aantal taken voor een taak op te halen.
Aantal knooppuntstatussen
Met de bewerking Aantal knooppunten lijstgroep worden rekenknooppunten geteld op basis van de volgende statussen in elke pool. Afzonderlijke aggregaties worden verstrekt voor toegewezen knooppunten en Spot-knooppunten in elke pool.
- Maken: Een aan Azure toegewezen VM die nog niet is begonnen met het toevoegen van een pool.
- Inactief: een rekenknooppunt dat beschikbaar is en momenteel geen taken uitvoert.
- LeavingPool: een knooppunt dat de pool verlaat, omdat de gebruiker het expliciet heeft verwijderd of omdat de pool aan het verkleinen of automatisch aan het afschalen is.
- Offline: Een knooppunt dat batch niet kan gebruiken om nieuwe taken te plannen.
-
Vooraf verwijderd: Een Spot-knooppunt dat uit de pool is verwijderd omdat Azure de VM heeft teruggevorderd. Een
preemptedknooppunt kan opnieuw worden geïnitialiseerd wanneer er een vervangende spot-VM-capaciteit beschikbaar is. - Opnieuw opstarten: een knooppunt dat opnieuw wordt opgestart.
- Opnieuw opstarten: een knooppunt waarop het besturingssysteem opnieuw wordt geïnstalleerd.
- Wordt uitgevoerd : een knooppunt waarop een of meer taken worden uitgevoerd (met uitzondering van de begintaak).
- Starten: een knooppunt waarop de Batch-service wordt gestart.
-
StartTaskFailed: een knooppunt waarin de begintaak is mislukt na alle nieuwe pogingen en
waitForSuccessis ingeschakeld. Dit knooppunt kan geen taken uitvoeren. - Onbekend: een knooppunt dat geen contact meer heeft met de Batch-service en waarvan de status niet bekend is.
- Onbruikbaar: een knooppunt dat niet kan worden gebruikt voor taakuitvoering vanwege fouten.
-
WaitingForStartTask: een knooppunt waarop de begintaak wordt uitgevoerd, maar
waitForSuccessis ingeschakeld en is niet voltooid.
In het volgende C#-fragment ziet u hoe u het aantal knooppunten voor alle pools in het huidige account weergeeft:
foreach (var nodeCounts in batchClient.PoolOperations.ListPoolNodeCounts())
{
Console.WriteLine("Pool Id: {0}", nodeCounts.PoolId);
Console.WriteLine("Total dedicated node count: {0}", nodeCounts.Dedicated.Total);
// Get dedicated node counts in Idle and Offline states; you can get additional states.
Console.WriteLine("Dedicated node count in Idle state: {0}", nodeCounts.Dedicated.Idle);
Console.WriteLine("Dedicated node count in Offline state: {0}", nodeCounts.Dedicated.Offline);
Console.WriteLine("Total Spot node count: {0}", nodeCounts.LowPriority.Total);
// Get Spot node counts in Running and Preempted states; you can get additional states.
Console.WriteLine("Spot node count in Running state: {0}", nodeCounts.LowPriority.Running);
Console.WriteLine("Spot node count in Preempted state: {0}", nodeCounts.LowPriority.Preempted);
}
In het volgende C#-fragment ziet u hoe u het aantal knooppunten voor een bepaalde pool in het huidige account weergeeft.
foreach (var nodeCounts in batchClient.PoolOperations.ListPoolNodeCounts(new ODATADetailLevel(filterClause: "poolId eq 'testpool'")))
{
Console.WriteLine("Pool Id: {0}", nodeCounts.PoolId);
Console.WriteLine("Total dedicated node count: {0}", nodeCounts.Dedicated.Total);
// Get dedicated node counts in Idle and Offline states; you can get additional states.
Console.WriteLine("Dedicated node count in Idle state: {0}", nodeCounts.Dedicated.Idle);
Console.WriteLine("Dedicated node count in Offline state: {0}", nodeCounts.Dedicated.Offline);
Console.WriteLine("Total Spot node count: {0}", nodeCounts.LowPriority.Total);
// Get Spot node counts in Running and Preempted states; you can get additional states.
Console.WriteLine("Spot node count in Running state: {0}", nodeCounts.LowPriority.Running);
Console.WriteLine("Spot node count in Preempted state: {0}", nodeCounts.LowPriority.Preempted);
}
U kunt een vergelijkbaar patroon gebruiken voor REST en andere ondersteunde talen om het aantal knooppunten voor pools op te halen.
Volgende stappen
- Kom meer te weten over de workflow en de primaire middelen van de Batch-service zoals pools, nodes, jobs en taken.
- Meer informatie over het toepassen van filters op query's met Batch-resources, zie Query's maken om Batch-resources efficiënt weer te geven.