# 応答しなくなったタスク実行のトラブルシューティング

ジョブタスクが応答しなくなった場合は、観測可能なメトリクスを取得して原因を特定します。

## 手順

1. 分析するタスク実行のIDを取得します。

   このIDは、Talend Management Consoleの[Task execution log] (タスク実行ログ)ページにある[Task execution ID] (タスク実行ID)が相当します。このIDはまた、/processing/executables/tasks/{taskId}/executionsエンドポイントのGETコールを使って取得することもできます。

   タスクIDは、Talend Management Consoleの[Task details] (タスクの詳細)にあります。API経由でこのIDを取得しなければならない場合は、[アーティファクトのバージョンをアップデートする必要があるタスクを取得](https://help.qlik.com/talend/r/ja-JP/Cloud/use-api-to-update-artifact-in-tasks/get-tasks-to-be-updated)をご覧ください。
2. 次のAPIリクエストを発行し、実行中になっているコンポーネントを検索します。
   ```
   method: GET
   endpoint:
         https://api.<env>.cloud.talend.com/monitoring/observability/executions/{runId}/component
   headers: {
    "Authorization": "Bearer <personanl_access_token>"
   }
   payload: N/A
   ```
3. レスポンスを分析し、component\_execution\_duration\_millisecondsフィールドを利用できないコンポーネントを特定します。
4. 別のAPIリクエストを発行し、最も多くのレコードを処理するコンポーネントを検索します。
   ```
   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. このAPIリクエストを発行し、実行に最も長い時間がかかっているコンポーネントを調べます。
   ```
   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
   ```

## タスクの結果

* tMongoDBConnectionのように、上記で特定した一部のコンポーネントが接続コンポーネントであるかどうか、コンポーネント名でわかります。もし接続コンポーネントであれば、接続に問題があることが考えられます。
* タスクが実行されたCloud Engineの健全性ステータスを調べます。
* タスク実行のログでこれらのコンポーネントに関する情報を読み取ります。このログは、[ライブ監視用にタスク実行ログを取得](https://talend.qlik.dev/use-cases/monitoring-tasks/monitor-task-runs-live/)で説明されているとおり、Talend Management Consoleの[Run overview] (実行概要)ページで、またはAPI経由で読むことができます。

以下は、/monitoring/observability/executions/{runId}/componentでのGETリクエストのレスポンスの例です。

```
{
    "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
    }
}
```