ES|QL 任务管理

编辑

您可以使用 任务管理 API 列出正在运行的 ES|QL 查询。

resp = client.tasks.list(
    pretty=True,
    detailed=True,
    group_by="parents",
    human=True,
    actions="*data/read/esql",
)
print(resp)
response = client.tasks.list(
  pretty: true,
  detailed: true,
  group_by: 'parents',
  human: true,
  actions: '*data/read/esql'
)
puts response
const response = await client.tasks.list({
  pretty: "true",
  detailed: "true",
  group_by: "parents",
  human: "true",
  actions: "*data/read/esql",
});
console.log(response);
GET /_tasks?pretty&detailed&group_by=parents&human&actions=*data/read/esql

它会返回一个类似这样的状态列表:

{
  "node" : "2j8UKw1bRO283PMwDugNNg",
  "id" : 5326,
  "type" : "transport",
  "action" : "indices:data/read/esql",
  "description" : "FROM test | STATS MAX(d) by a, b",  
  "start_time" : "2023-07-31T15:46:32.328Z",
  "start_time_in_millis" : 1690818392328,
  "running_time" : "41.7ms",                           
  "running_time_in_nanos" : 41770830,
  "cancellable" : true,
  "cancelled" : false,
  "headers" : { }
}

用户提交的查询。

查询运行的时间。

您可以使用此功能查找长时间运行的查询,并且如果需要,可以使用 任务取消 API 取消它们。

resp = client.tasks.cancel(
    task_id="2j8UKw1bRO283PMwDugNNg:5326",
)
print(resp)
response = client.tasks.cancel(
  task_id: '2j8UKw1bRO283PMwDugNNg:5326'
)
puts response
const response = await client.tasks.cancel({
  task_id: "2j8UKw1bRO283PMwDugNNg:5326",
});
console.log(response);
POST _tasks/2j8UKw1bRO283PMwDugNNg:5326/_cancel

查询停止可能需要几秒钟。