ES|QL 任务管理
编辑ES|QL 任务管理编辑
您可以使用 任务管理 API 列出正在运行的 ES|QL 查询。
response = client.tasks.list( pretty: true, detailed: true, group_by: 'parents', human: true, actions: '*data/read/esql' ) puts 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 取消它们。
response = client.tasks.cancel( task_id: '2j8UKw1bRO283PMwDugNNg:5326' ) puts response
POST _tasks/2j8UKw1bRO283PMwDugNNg:5326/_cancel
查询停止可能需要几秒钟。