集群待处理任务
/_cluster/pending_tasks
API 返回尚未执行的集群级别更改列表。这些待处理任务通常是排队的操作,例如索引创建、模板更新、分片分配更改和其他集群状态更新。
此 API 对于监控集群状态和诊断集群状态更新延迟非常有用,尤其是在任务积压或卡住时。
端点
GET /_cluster/pending_tasks
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 |
---|---|---|
local | 布尔型 | 是否仅返回本地节点的信息,而不是选定的集群管理器节点的信息。默认为 false 。 |
cluster_manager_timeout | 时间 | 指定连接到集群管理器节点的超时时间。默认为 30s 。 |
请求示例
以下请求返回当前待处理的集群状态更新任务列表
GET /_cluster/pending_tasks
示例响应
{
"tasks": [
{
"insert_order": 1234,
"priority": "HIGH",
"source": "create-index [logs-2025.07.15]",
"executing": false,
"time_in_queue_millis": 28,
"time_in_queue": "28ms"
},
{
"insert_order": 1235,
"priority": "URGENT",
"source": "shard-started shard id [logs-2025.07.15][0]",
"executing": true,
"time_in_queue_millis": 3,
"time_in_queue": "3ms"
}
]
}
_cluster/pending_tasks
API 通常返回一个空数组,因为任务通常处理速度太快,无法包含在响应中。
响应字段
下表列出了所有响应字段。
字段 | 数据类型 | 描述 |
---|---|---|
tasks | 数组 | 待处理的集群状态更新任务列表。 |
tasks[n].insert_order | 整数 | 任务添加到队列的顺序。 |
tasks[n].priority | 字符串 | 任务的优先级(例如,HIGH 、URGENT )。 |
tasks[n].source | 字符串 | 提交任务的操作描述。 |
tasks[n].executing | 布尔型 | 确认任务当前是否正在执行。 |
tasks[n].time_in_queue_millis | 整数 | 任务在队列中等待的时间(以毫秒为单位)。 |
tasks[n].time_in_queue | 字符串 | time_in_queue_millis 的人类可读版本。 |