待处理集群任务 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"
      }
  ]
}