--- title: "查询任务(Cat格式)" date: 2026-02-08 lastmod: 2026-02-08 description: "以表格形式查询当前运行的任务" tags: ["任务", "查询", "Cat API"] summary: "以紧凑的表格形式返回当前正在运行的任务信息。 API 格式 # GET /_cat/tasks API 作用 # 该 API 以表格形式返回当前正在运行的任务: 显示所有节点的运行任务 显示任务 ID、动作、类型等信息 显示任务开始时间和运行时长 显示任务所在的节点信息 API 参数 # 查询参数 # 参数 类型 是否必填 默认值 描述 format String 否 文本表格 响应格式(如 json、yaml) h String 否 所有列 逗号分隔的列名列表 v Boolean 否 false 是否显示列标题 detailed Boolean 否 false 是否包含任务描述信息 full_id Boolean 否 false 是否显示完整节点 ID help Boolean 否 false 是否返回帮助信息 响应列说明 # 基础列(始终显示) # 列名 别名 描述 id - 任务 ID(包含节点信息) action ac 任务动作 task_id ti 唯一任务 ID parent_task_id pti 父任务 ID(无时为 -) type ty 任务类型 start_time - 开始时间(毫秒时间戳) timestamp ts, hms, hhmmss 开始时间(HH:MM:SS 格式,UTC) running_time_ns time 运行时长(纳秒) running_time - 运行时长(可读格式) node_id ni 唯一节点 ID ip i IP 地址 port po 绑定的传输端口 node n 节点名称 version v Easysearch 版本 x_opaque_id x X-Opaque-ID 头 详细列(detailed=true) # 列名 别名 描述 description desc 任务动作描述 请求示例 # 查询所有任务 # GET /_cat/tasks?" --- 以紧凑的表格形式返回当前正在运行的任务信息。 ## API 格式 ``` GET /_cat/tasks ``` ## API 作用 该 API 以表格形式返回当前正在运行的任务: - 显示所有节点的运行任务 - 显示任务 ID、动作、类型等信息 - 显示任务开始时间和运行时长 - 显示任务所在的节点信息 ## API 参数 ### 查询参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `format` | String | 否 | 文本表格 | 响应格式(如 `json`、`yaml`) | | `h` | String | 否 | 所有列 | 逗号分隔的列名列表 | | `v` | Boolean | 否 | `false` | 是否显示列标题 | | `detailed` | Boolean | 否 | `false` | 是否包含任务描述信息 | | `full_id` | Boolean | 否 | `false` | 是否显示完整节点 ID | | `help` | Boolean | 否 | `false` | 是否返回帮助信息 | ## 响应列说明 ### 基础列(始终显示) | 列名 | 别名 | 描述 | |------|------|------| | `id` | - | 任务 ID(包含节点信息) | | `action` | `ac` | 任务动作 | | `task_id` | `ti` | 唯一任务 ID | | `parent_task_id` | `pti` | 父任务 ID(无时为 `-`) | | `type` | `ty` | 任务类型 | | `start_time` | - | 开始时间(毫秒时间戳) | | `timestamp` | `ts`, `hms`, `hhmmss` | 开始时间(HH:MM:SS 格式,UTC) | | `running_time_ns` | `time` | 运行时长(纳秒) | | `running_time` | - | 运行时长(可读格式) | | `node_id` | `ni` | 唯一节点 ID | | `ip` | `i` | IP 地址 | | `port` | `po` | 绑定的传输端口 | | `node` | `n` | 节点名称 | | `version` | `v` | Easysearch 版本 | | `x_opaque_id` | `x` | X-Opaque-ID 头 | ### 详细列(detailed=true) | 列名 | 别名 | 描述 | |------|------|------| | `description` | `desc` | 任务动作描述 | ## 请求示例 ### 查询所有任务 ``` GET /_cat/tasks?v ``` ### 详细模式 ``` GET /_cat/tasks?v&detailed=true ``` ### 选择显示列 ``` GET /_cat/tasks?h=action,node,running_time&v ``` ### JSON 格式 ``` GET /_cat/tasks?format=json ``` ## 响应示例 ### 文本表格格式(verbose 模式) ``` id | action | task_id | parent_task_id | type | start_time | timestamp | running_time | node_id | ip | port | node | version | description --------------------------+---------------------+--------------------+---------------+-----------+---------------+-----------+--------------+---------+---------------+------+---------+---------+------------- node1:123 | indices:data/write | node1:123 | - | transport | 1738665600000 | 12:00:00 | 1.5s | node1 | 192.168.1.100 | 9300 | node-1 | 8.11.0 | index node1:124 | indices:data/read | node1:124 | node1:123 | search | 1738665601000 | 12:00:01 | 500ms | node1 | 192.168.1.100 | 9300 | node-1 | 8.11.0 | search node2:456 | cluster:monitor/health| node2:456 | - | transport | 1738665602000 | 12:00:02 | 300ms | node2 | 192.168.1.101 | 9300 | node-2 | 8.11.0 | cluster health ``` ### JSON 格式 ```json [ { "id": "node1:123", "action": "indices:data/write", "task_id": "node1:123", "parent_task_id": "-", "type": "transport", "start_time": "1738665600000", "timestamp": "12:00:00", "running_time": "1.5s", "node_id": "node1", "ip": "192.168.1.100", "port": "9300", "node": "node-1", "version": "8.11.0", "description": "index[{index1}]" } ] ``` ## 常见任务动作 | 动作 | 描述 | |------|------| | `indices:data/write/index` | 索引文档 | | `indices:data/read/search` | 搜索操作 | | `cluster:monitor/health` | 集群健康检查 | | `cluster:update_settings` | 更新集群设置 | | `indices:admin/create` | 创建索引 | ## 使用场景 1. **任务监控**:实时查看集群中的运行任务 2. **性能分析**:识别长时间运行的任务 3. **资源管理**:了解节点上的任务分布 4. **故障排查**:检查任务状态和依赖关系 ## 注意事项 1. **v 参数**:使用 `?v` 显示列标题 2. **仅运行中**:仅显示当前正在运行的任务 3. **节点信息**:已离开集群的节点显示为 `-` 4. **时区**:时间戳使用 UTC 时区 5. **程序化访问**:对于程序化访问,建议使用 `GET /_tasks` ## 相关操作 - **GET /_tasks**:获取详细任务信息 - **POST /_tasks/{task_id}/_cancel**:取消任务 - **GET /_cat/pending_tasks**:查询待处理任务 ## 实现文件 - **REST 处理器**:`RestTasksAction.java` - **请求类**:`ListTasksRequest.java` - **响应类**:`ListTasksResponse.java` - **基础类**:`AbstractCatAction.java`