Accéder au contenu principal Passer au contenu complémentaire

Dépanner une exécution de tâche qui ne répond plus

Lorsque votre tâche de Job ne répond plus, récupérez les métriques d'observabilité pour identifier les causes.

Procédure

  1. Obtenez l'ID de l'exécution de tâche à analyser.
    Cet ID est disponible sur la page Task execution log (Log d'exécution de la tâche) de Talend Management Console, sous le nom Task execution ID (ID d'exécution de la tâche). Vous pouvez également obtenir cet ID via un appel GET depuis l'endpoint /processing/executables/tasks/{taskId}/executions.

    L'ID de la tâche est disponible dans la page Task details (Détails de la tâche) de Talend Management Console. Si vous avez besoin d'obtenir cet ID via une API, suivez la procédure Obtenir les tâches pour lesquelles vous souhaitez mettre à jour la version de l'artefact.

  2. Émettez la requête d'API suivante pour trouver les composants encore en cours d'exécution :
    method: GET
    endpoint:
          https://api.<env>.cloud.talend.com/monitoring/observability/executions/{runId}/component
    headers: {
     "Authorization": "Bearer <personanl_access_token>"
    }
    payload: N/A
  3. Analysez la réponse pour identifier le composant pour lequel le champ component_execution_duration_milliseconds n'est pas disponible.
  4. Émettez une autre requête d'API pour trouver quels composants gèrent le plus d'enregistrements :
    method: GET
    endpoint:
       https://api.<env>.cloud.talend.com/monitoring/observability/executions/{runId}/component?sortBy=component_connection_rows_total&sortOrder=desc
    headers: {
     "Authorization": "Bearer <personanl_access_token>"
    }
    payload: N/A
  5. Émettez cette requête d'API pour trouver le composant dont l'exécution a duré le plus longtemps :
    method: GET
    endpoint:
       https://api.<env>.cloud.talend.com/monitoring/observability/executions/{runId}/component?sortBy=component_execution_duration_milliseconds&sortOrder=desc
    headers: {
     "Authorization": "Bearer <personanl_access_token>"
    }
    payload: N/A

Résultats

  • Selon leur nom, il est possible d'identifier les composants de connexion, par exemple le tMongoDBConnection. Si vous en trouvez, le problème peut provenir de la connexion.
  • Examinez le statut de l'état de santé du moteur Cloud sur lequel votre tâche a été exécutée.
  • Lisez les informations concernant ces composants dans le log d'exécution de la tâche. Vous pouvez lire ce log dans la page Run overview (Vue d'ensemble des exécutions) de Talend Management Console ou via une API, comme expliqué dans Obtenir le log d'une exécution de tâche pour le monitoring en temps réel.
Voici un exemple de réponse de requête GET sur l'endpoint /monitoring/observability/executions/{runId}/component.
{
    "account_id": "2be59707-2230-45dc-a43d-db7e6d798425",
    "engine_id": "a60bb1c0-7669-407f-9326-138af05da18a",
    "engine_type": "CLOUD",
    "engine_version": "2.10.8",
    "workspace_id": "61273932d0366133d05729b7",
    "task_id": "612739e79a0ac71b8f3ed4dd",
    "task_execution_id": "947e3e2f-d199-4988-a5ab-14ceb36c80f3",
    "artifact_id": "612739e79a0ac71b8f3ed4db",
    "artifact_name": "job_with_rejected_rows",
    "artifact_version": "0.1.0.20212608065119",
    "start_time": "2021-08-26T06:53:30.127Z",
    "finish_time": "2021-08-26T06:53:35.361Z",
    "rows_rejected": 1,
    "operator": "admin",
    "operator_type": "HUMAN",
    "processes": [
        {
            "process_id": "0329f8d4-1c69-3372-9233-d38ac6ef03a8",
            "job_name": "MainJob",
            "pid": "20210806181617_2Y68h",
            "father_pid": "20210806181617_2Y68h",
            "root_pid": "20210806181617_2Y68h"
        }
    ],
    "metrics": {
        "items": [
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tMongoDBConnection",
                "connector_label": "tMongoDBConnection_1",
                "connector_id": "tMongoDBConnection_1",
                "component_start_time_seconds": 1628266578
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tRowGenerator",
                "connector_label": "tRowGenerator_1",
                "connector_id": "tRowGenerator_1",
                "target_connector_type": "tFlowMeter",
                "target_label": "vFlowMeter_row1",
                "target_id": "vFlowMeter_row1",
                "component_start_time_seconds": 1628266578,
                "component_connection_rows_total": 5000000,
                "component_execution_duration_milliseconds": 491585
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tFlowMeter",
                "connector_label": "vFlowMeter_row1",
                "connector_id": "vFlowMeter_row1",
                "component_start_time_seconds": 1628266578
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tFlowMeter",
                "connector_label": "vFlowMeter_row1",
                "connector_id": "vFlowMeter_row1",
                "target_connector_type": "tMongoDBOutput",
                "target_label": "Insert from SQL",
                "target_id": "tMongoDBOutput_1",
                "component_start_time_seconds": 1628266578,
                "component_connection_rows_total": 5000000,
                "component_execution_duration_milliseconds": 491605
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tMongoDBOutput",
                "connector_label": "Insert from SQL",
                "connector_id": "tMongoDBOutput_1",
                "component_start_time_seconds": 1628266578
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tMongoDBInput",
                "connector_label": "tMongoDBInput_2",
                "connector_id": "tMongoDBInput_2",
                "target_connector_type": "tLogRow",
                "target_label": "tLogRow_2",
                "target_id": "tLogRow_2",
                "component_start_time_seconds": 1628267070,
                "component_connection_rows_total": 2158754
            },
            {
                "pid": "20210806181617_2Y68h",
                "connector_type": "tLogRow",
                "connector_label": "tLogRow_2",
                "connector_id": "tLogRow_2",
                "component_start_time_seconds": 1628267070
            }
        ],
        "limit": 50,
        "offset": 0,
        "total": 7
    }
}

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !