待处理集群任务 API

编辑

返回尚未执行的集群级更改。

请求

编辑

GET /_cluster/pending_tasks

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有 monitormanage 集群权限才能使用此 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"
      }
  ]
}