Partager via


Événement de fin de tâche

Cet événement est émis une fois qu’une tâche est terminée, quel que soit le code de sortie. Cet événement peut être utilisé pour déterminer la durée d’une tâche, où la tâche a été exécutée et si elle a été retentée.

L’exemple suivant montre le corps d’un événement complet de tâche.

{
    "jobId": "myJob",
    "id": "myTask",
    "taskType": "User",
    "systemTaskVersion": 0,
    "requiredSlots": 1,
    "nodeInfo": {
        "poolId": "pool-001",
        "nodeId": "tvm-257509324_1-20160908t162728z"
    },
    "multiInstanceSettings": {
        "numberOfInstances": 1
    },
    "constraints": {
        "maxTaskRetryCount": 2
    },
    "executionInfo": {
        "startTime": "2016-09-08T16:32:23.799Z",
        "endTime": "2016-09-08T16:34:00.666Z",
        "exitCode": 0,
        "retryCount": 0,
        "requeueCount": 0,
        "result": "Success",
        "schedulingError": {
            "category": "",
            "code": "",
            "message": "",
            "details": []
        }
    }
}
Nom de l’élément Catégorie Remarques
jobId Chaîne ID du travail contenant la tâche.
id Chaîne ID de la tâche.
taskType Chaîne Type de la tâche. Le type de tâche peut être « JobManager » indiquant qu’il s’agit d’une tâche de gestionnaire de travaux ou d’un « Utilisateur » indiquant qu’il ne s’agit pas d’une tâche de gestionnaire de travaux. Cet événement n’est pas émis pour les tâches de préparation du travail, les tâches de mise en production du travail ou les tâches de démarrage.
systemTaskVersion Int32 Compteur de nouvelles tentatives interne sur une tâche. En interne, le service Batch peut réessayer une tâche pour prendre en compte les problèmes temporaires. Ces problèmes peuvent inclure des erreurs de planification internes ou des tentatives de récupération à partir de nœuds de calcul dans un état incorrect.
requiredSlots Int32 Emplacements requis pour exécuter la tâche.
nodeInfo Type complexe Contient des informations sur le nœud de calcul sur lequel la tâche s’est exécutée.
multiInstanceSettings Type complexe Spécifie que la tâche est une tâche multi-instance nécessitant plusieurs nœuds de calcul. Pour plus d’informations, consultez multiInstanceSettings.
constraints Type complexe Contraintes d’exécution qui s’appliquent à cette tâche.
executionInfo Type complexe Contient des informations sur l’exécution de la tâche.

nodeInfo

Nom de l’élément Catégorie Remarques
poolId Chaîne ID du pool sur lequel la tâche s’est exécutée.
nodeId Chaîne ID du nœud sur lequel la tâche s’est exécutée.

multiInstanceSettings

Nom de l’élément Catégorie Remarques
numberOfInstances Int32 Nombre de nœuds de calcul requis par la tâche.

Contraintes

Nom de l’élément Catégorie Remarques
maxTaskRetryCount Int32 Nombre maximal de fois où la tâche peut être retentée. Le service Batch retente une tâche si son code de sortie n’est pas différent de zéro.

Cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch tente la tâche une seule fois, puis peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est égal à 3, Batch tente une tâche jusqu’à quatre fois (une tentative initiale et trois nouvelles tentatives).

Si le nombre maximal de nouvelles tentatives est égal à 0, le service Batch n’effectue pas de nouvelles tentatives.

Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente des tâches sans limite.

La valeur par défaut est 0 (aucune nouvelle tentative).

executionInfo

Nom de l’élément Catégorie Remarques
startTime Date et heure Heure à laquelle la tâche a commencé à s’exécuter. « En cours d’exécution » correspond à l’état en cours d’exécution . Par conséquent, si la tâche spécifie des fichiers de ressources ou des packages d’application, l’heure de début reflète l’heure à laquelle la tâche a démarré le téléchargement ou le déploiement de ces fichiers de ressources ou packages d’application. Si la tâche a redémarré ou retenté, il s’agit de l’heure la plus récente à laquelle la tâche a commencé à s’exécuter.
endTime Date et heure Heure à laquelle la tâche s’est terminée.
exitCode Int32 Code de sortie de la tâche. Si la tâche a échoué avant de commencer à s’exécuter, exitCode a la valeur Null.
retryCount Int32 Nombre de fois où le service Batch a retenté la tâche. La tâche est retentée si elle se termine avec un code de sortie différent de zéro, jusqu’au MaxTaskRetryCount spécifié.
requeueCount Int32 Nombre de fois où le service Batch a réinitulé la tâche à la suite d’une demande d’utilisateur.

Lorsque les nœuds sont supprimés d’un pool (par le biais du redimensionnement ou de la réduction) ou qu’un travail est désactivé, vous pouvez choisir de réinscrire les tâches en cours d’exécution sur ces nœuds. Ce nombre suit le nombre de fois où une tâche a été mise en file d’attente pour ces raisons.
result Chaîne La chaîne de résultat de la tâche peut être « Réussite » ou « Échec »
schedulingError Type complexe Contient des informations détaillées sur l’erreur.

schedulingError

Nom de l’élément Catégorie Remarques
category Chaîne Catégorie d’erreur, par exemple « UserError ».
code Chaîne Code d’erreur, par exemple « FailureExitCode ».
message Chaîne Message d’erreur.
details Array Détails de l’erreur.