This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
ES|QL task management
editES|QL task management
editYou can list running ES|QL queries with the task management API:
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
Which returns a list of statuses like this:
{ "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" : { } }
You can use this to find long running queries and, if you need to, cancel them with the task cancellation 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
It may take a few seconds for the query to be stopped.