ES|QL タスク管理

実行中の ES|QL クエリを タスク管理 API でリストできます:

Python

  1. resp = client.tasks.list(
  2. pretty=True,
  3. detailed=True,
  4. group_by="parents",
  5. human=True,
  6. actions="*data/read/esql",
  7. )
  8. print(resp)

Ruby

  1. response = client.tasks.list(
  2. pretty: true,
  3. detailed: true,
  4. group_by: 'parents',
  5. human: true,
  6. actions: '*data/read/esql'
  7. )
  8. puts response

Js

  1. const response = await client.tasks.list({
  2. pretty: "true",
  3. detailed: "true",
  4. group_by: "parents",
  5. human: "true",
  6. actions: "*data/read/esql",
  7. });
  8. console.log(response);

Console

  1. GET /_tasks?pretty&detailed&group_by=parents&human&actions=*data/read/esql

このようなステータスのリストが返されます:

Js

  1. {
  2. "node" : "2j8UKw1bRO283PMwDugNNg",
  3. "id" : 5326,
  4. "type" : "transport",
  5. "action" : "indices:data/read/esql",
  6. "description" : "FROM test | STATS MAX(d) by a, b",<br> "start_time" : "2023-07-31T15:46:32.328Z",<br> "start_time_in_millis" : 1690818392328,<br> "running_time" : "41.7ms",<br> "running_time_in_nanos" : 41770830,<br> "cancellable" : true,<br> "cancelled" : false,<br> "headers" : { }<br>}<br>``````<br><br>
  7. | | |
  8. | --- | --- |
  9. | | ユーザーが送信したクエリ。 |
  10. | | クエリが実行されている時間。 |
  11. これを使用して、長時間実行されているクエリを見つけることができ、必要に応じて [タスクキャンセル API](4819d08b09fe89d8.md#task-cancellation) でキャンセルできます:
  12. #### Python
  13. ``````python
  14. resp = client.tasks.cancel(
  15. task_id="2j8UKw1bRO283PMwDugNNg:5326",
  16. )
  17. print(resp)

Ruby

  1. response = client.tasks.cancel(
  2. task_id: '2j8UKw1bRO283PMwDugNNg:5326'
  3. )
  4. puts response

Js

  1. const response = await client.tasks.cancel({
  2. task_id: "2j8UKw1bRO283PMwDugNNg:5326",
  3. });
  4. console.log(response);

Console

  1. POST _tasks/2j8UKw1bRO283PMwDugNNg:5326/_cancel

クエリが停止するまでに数秒かかる場合があります。