待处理集群任务 API
新版 API 参考
有关最新的 API 详细信息,请参阅 集群 API。
返回尚未执行的集群级别变更。
请求
GET /_cluster/pending_tasks
前置条件
- 如果启用了 Elasticsearch 安全功能,你必须拥有
monitor或manage集群权限才能使用此 API。
描述
待处理集群任务 API 返回尚未执行的任何集群级别变更(例如创建索引、更新映射、分配或失败分片)的列表。
提示
此 API 返回集群状态的任何待处理更新的列表。这些与任务管理 API 报告的任务不同,后者包括周期性任务和用户发起的任务,例如节点统计、搜索查询或创建索引请求。但是,如果用户发起的任务(如创建索引命令)导致集群状态更新,则该任务的活动可能会同时被任务 API 和待处理集群任务 API 报告。
路径参数
local(可选,布尔值)如果为
true,请求仅从本地节点检索信息。默认为false,表示从主节点检索信息。master_timeout(可选,时间值)等待主节点的时间。如果在超时到期前主节点不可用,请求将失败并返回错误。默认为
30s。也可以设置为-1表示请求永不超时。
响应体
tasks(对象)待处理任务的列表。
insert_order(整数)表示任务插入到任务队列中的顺序号。
priority(字符串)待处理任务的优先级。有效优先级按降序排列为:
IMMEDIATE>URGENT>HIGH>NORMAL>LOW>LANGUID。source(字符串)集群任务的通用描述,可能包含原因和来源。
executing(布尔值)true或false,表示待处理任务当前是否正在执行。time_in_queue_millis(整数)任务等待执行的时间,以毫秒为单位。
time_in_queue(字符串)任务等待执行的时间。
示例
通常请求会返回一个空列表,因为集群级别变更执行速度很快。但是,如果有任务排队等待,响应将类似于以下内容:
{
"tasks": [
{
"insert_order": 101,
"priority": "URGENT",
"source": "create-index [foo_9], cause [api]",
"executing" : true,
"time_in_queue_millis": 86,
"time_in_queue": "86ms"
},
{
"insert_order": 46,
"priority": "HIGH",
"source": "shard-started ([foo_2][1], node[tMTocMvQQgGCkj7QDHl3OA], [P], s[INITIALIZING]), reason [after recovery from shard_store]",
"executing" : false,
"time_in_queue_millis": 842,
"time_in_queue": "842ms"
},
{
"insert_order": 45,
"priority": "HIGH",
"source": "shard-started ([foo_2][0], node[tMTocMvQQgGCkj7QDHl3OA], [P], s[INITIALIZING]), reason [after recovery from shard_store]",
"executing" : false,
"time_in_queue_millis": 858,
"time_in_queue": "858ms"
}
]
}