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

Guide d'utilisation des API Talend Cloud

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Talend API Designer
Talend API Tester
Talend Data Preparation
Talend Data Stewardship
Talend Management Console
Content
Création et développement > Création d'APIs
Création et développement > Test d'API
Last publication date
2024-04-04
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
    }
}