Partager via


Événement d’échec de tâche

Cet événement est émis lorsqu’une tâche se termine par un échec. Actuellement, tous les codes de sortie non zéro sont considérés comme des échecs. Cet événement est émis en plus d’un événement complet de tâche et peut être utilisé pour détecter l’échec d’une tâche.

L’exemple suivant montre le corps d’un événement d’échec 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": 1,
        "retryCount": 2,
        "requeueCount": 0,
        "result": "Failure",
        "schedulingError": {
            "category": "UserError",
            "code": "FailureExitCode",
            "message": "The task exited with an exit code representing a failure",
            "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. Il s’agit de « 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 Il s’agit du compteur de nouvelle tentative 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 commencé à télécharger ou à les déployer. Si la tâche est redémarrée ou retentée, 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 de la demande de l’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.