Files
OpenSearch-Docs-Cn/_api-reference/tasks.md
T
7bb41fe4ce Make API reference top level (#1637)
* Make API reference top level

Signed-off-by: Naarcha-AWS <[email protected]>

* Fix typo on Drag and Drop page (#1633)

* Fix typo on Drag and Drop page

* Update _dashboards/drag-drop-wizard.md

Co-authored-by: Nate Bower <[email protected]>

* Update drag-drop-wizard.md

Co-authored-by: Nate Bower <[email protected]>

* Putting all the Docker install material on a single page (#1452)

* Putting all the Docker install material on a single page

Signed-off-by: JeffH-AWS <[email protected]>

* Making room for revamp

Signed-off-by: JeffH-AWS <[email protected]>

* Intro added

Signed-off-by: JeffH-AWS <[email protected]>

* Continuing to flesh out the intro section and overview

Signed-off-by: JeffH-AWS <[email protected]>

* Overview finalized

Signed-off-by: JeffH-AWS <[email protected]>

* Introducing docker compose

Signed-off-by: JeffH-AWS <[email protected]>

* Added link to compose

Signed-off-by: JeffH-AWS <[email protected]>

* Continuing docker image commentary

Signed-off-by: JeffH-AWS <[email protected]>

* Sometimes I wonder if anyone reads these

Signed-off-by: JeffH-AWS <[email protected]>

* Adding notes on installing compose with pip

Signed-off-by: JeffH-AWS <[email protected]>

* Adding prereqs

Signed-off-by: JeffH-AWS <[email protected]>

* Magnets - how do they work?

Signed-off-by: JeffH-AWS <[email protected]>

* Almonds and peaches are part of the same plant subgenus, Amygdalus

Signed-off-by: JeffH-AWS <[email protected]>

* There are 293 ways to make change for a dollar

Signed-off-by: JeffH-AWS <[email protected]>

* A shark is the only known fish that can blink with both eyes

Signed-off-by: JeffH-AWS <[email protected]>

* A crocodile cannot stick its tongue out

Signed-off-by: JeffH-AWS <[email protected]>

* wording

Signed-off-by: JeffH-AWS <[email protected]>

* Reorganizing a couple paragraphs to make it flow better

Signed-off-by: JeffH-AWS <[email protected]>

* Forgot a word

Signed-off-by: JeffH-AWS <[email protected]>

* Add tip about pruning stopped containers

Signed-off-by: JeffH-AWS <[email protected]>

* Cleaning up

Signed-off-by: JeffH-AWS <[email protected]>

* Add blurb about container ls

Signed-off-by: JeffH-AWS <[email protected]>

* Adding the Docker Compose stuff

Signed-off-by: JeffH-AWS <[email protected]>

* Working on compose

Signed-off-by: JeffH-AWS <[email protected]>

* Continuing work on the compose section - it's a lot of info

Signed-off-by: JeffH-AWS <[email protected]>

* Added important settings

Signed-off-by: JeffH-AWS <[email protected]>

* Updates to settings that need configured

Signed-off-by: JeffH-AWS <[email protected]>

* Still working through compose things

Signed-off-by: JeffH-AWS <[email protected]>

* Fixed wording

Signed-off-by: JeffH-AWS <[email protected]>

* Working through compose commands and guidance

Signed-off-by: JeffH-AWS <[email protected]>

* Reordering/rewording

Signed-off-by: JeffH-AWS <[email protected]>

* More phrasing

Signed-off-by: JeffH-AWS <[email protected]>

* More wording in steps

Signed-off-by: JeffH-AWS <[email protected]>

* More wording in steps

Signed-off-by: JeffH-AWS <[email protected]>

* Organizing

Signed-off-by: JeffH-AWS <[email protected]>

* Adding stuff and things

Signed-off-by: JeffH-AWS <[email protected]>

* Continuing to work through the configuration steps

Signed-off-by: JeffH-AWS <[email protected]>

* Fixes

Signed-off-by: JeffH-AWS <[email protected]>

* Fixes

Signed-off-by: JeffH-AWS <[email protected]>

* Still working on the configuration steps

Signed-off-by: JeffH-AWS <[email protected]>

* Changes

Signed-off-by: JeffH-AWS <[email protected]>

* More work

Signed-off-by: JeffH-AWS <[email protected]>

* Removed perf analyzer - refer to GH issue 1555

Signed-off-by: JeffH-AWS <[email protected]>

* Fixing things

Signed-off-by: JeffH-AWS <[email protected]>

* Adding guidance on passing settings in compose

Signed-off-by: JeffH-AWS <[email protected]>

* Working through dockerfile materials now

Signed-off-by: JeffH-AWS <[email protected]>

* wording

Signed-off-by: JeffH-AWS <[email protected]>

* Finalized the sample dev compose file

Signed-off-by: JeffH-AWS <[email protected]>

* Continuing work with configuration

Signed-off-by: JeffH-AWS <[email protected]>

* Finished - ready for reviews

Signed-off-by: JeffH-AWS <[email protected]>

* Fixed a link I forgot to change before

Signed-off-by: JeffH-AWS <[email protected]>

* Changes from first proofread

Signed-off-by: JeffH-AWS <[email protected]>

* Changed heading

Signed-off-by: JeffH-AWS <[email protected]>

* Addressed reviewer comments and made some changes

Signed-off-by: JeffH-AWS <[email protected]>

* Forgot to incorporate one change. Fixed.

Signed-off-by: JeffH-AWS <[email protected]>

* Final editorial changes

Signed-off-by: JeffH-AWS <[email protected]>

Signed-off-by: JeffH-AWS <[email protected]>

* fix#1584-custom_attr_allowlist (#1636)

Signed-off-by: cwillum <[email protected]>

Signed-off-by: cwillum <[email protected]>

* Update TERMS.md with definition for Setting (#1632)

* fix#1631-Terms-setting

Signed-off-by: cwillum <[email protected]>

* fix#1631-Terms-setting

Signed-off-by: cwillum <[email protected]>

Signed-off-by: cwillum <[email protected]>

* Add disclaimer about remote fs usage and an example of setting env var (#1644)

* Add disclaimer about remote fs usage and an example of setting env var

Signed-off-by: JeffH-AWS <[email protected]>

* Enhanced wording a little bit

Signed-off-by: JeffH-AWS <[email protected]>

Signed-off-by: JeffH-AWS <[email protected]>

* [DOC] New documentation: Self-host maps server (#1625)

* Add new page self-host maps server

Signed-off-by: vagimeli <[email protected]>

* Added new content

Signed-off-by: vagimeli <[email protected]>

* Copy edit

Signed-off-by: vagimeli <[email protected]>

* Tech review edits

Signed-off-by: vagimeli <[email protected]>

* Doc review edits

Signed-off-by: vagimeli <[email protected]>

* Editorial review changes

Signed-off-by: vagimeli <[email protected]>

* Final edits

Signed-off-by: vagimeli <[email protected]>

Signed-off-by: vagimeli <[email protected]>

* Add feedback.

Signed-off-by: Naarcha-AWS <[email protected]>

* Fix links

Signed-off-by: Naarcha-AWS <[email protected]>

Signed-off-by: Naarcha-AWS <[email protected]>
Signed-off-by: JeffH-AWS <[email protected]>
Signed-off-by: cwillum <[email protected]>
Signed-off-by: vagimeli <[email protected]>
Co-authored-by: Nate Bower <[email protected]>
Co-authored-by: Jeff Huss <[email protected]>
Co-authored-by: Chris Moore <[email protected]>
Co-authored-by: Melissa Vagi <[email protected]>
2022-10-27 11:50:39 -05:00

8.9 KiB

layout, title, nav_order
layout title nav_order
default Tasks 85

Tasks

Introduced 1.0 {: .label .label-purple }

A task is any operation you run in a cluster. For example, searching your data collection of books for a title or author name is a task. When you run OpenSearch, a task is automatically created to monitor your cluster's health and performance. For more information about all of the tasks currently executing in your cluster, you can use the tasks API operation.

The following request returns information about all of your tasks:

GET _tasks

By including a task ID, you can get information specific to a particular task. Note that a task ID consists of a node's identifying string and the task's numerical ID. For example, if your node's identifying string is nodestring and the task's numerical ID is 1234, then your task ID is nodestring:1234. You can find this information by running the tasks operation:

GET _tasks/<task_id>

Note that if a task finishes running, it won't be returned as part of your request. For an example of a task that takes a little longer to finish, you can run the _reindex API operation on a larger document, and then run tasks.

Sample Response

{
  "nodes": {
    "Mgqdm0r9SEGClWxp_RbnaQ": {
      "name": "opensearch-node1",
      "transport_address": "172.18.0.3:9300",
      "host": "172.18.0.3",
      "ip": "172.18.0.3:9300",
      "roles": [
        "data",
        "ingest",
        "master",
        "remote_cluster_client"
      ],
      "tasks": {
        "Mgqdm0r9SEGClWxp_RbnaQ:17416": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 17416,
          "type": "transport",
          "action": "cluster:monitor/tasks/lists",
          "start_time_in_millis": 1613599752458,
          "running_time_in_nanos": 994000,
          "cancellable": false,
          "headers": {}
          }
        },
        "Mgqdm0r9SEGClWxp_RbnaQ:17413": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 17413,
          "type": "transport",
          "action": "indices:data/write/bulk",
          "start_time_in_millis": 1613599752286,
          "running_time_in_nanos": 172846500,
          "cancellable": false,
          "parent_task_id": "Mgqdm0r9SEGClWxp_RbnaQ:17366",
          "headers": {}
        },
        "Mgqdm0r9SEGClWxp_RbnaQ:17366": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 17366,
          "type": "transport",
          "action": "indices:data/write/reindex",
          "start_time_in_millis": 1613599750929,
          "running_time_in_nanos": 1529733100,
          "cancellable": true,
          "headers": {}
        }
      }
    }
  }
}

You can also use the following parameters with your query.

Parameter Data type Description
nodes List A comma-separated list of node IDs or names to limit the returned information. Use _local to return information from the node you're connecting to, specify the node name to get information from specific nodes, or keep the parameter empty to get information from all nodes.
actions List A comma-separated list of actions that should be returned. Keep empty to return all.
detailed Boolean Returns detailed task information. (Default: false)
parent_task_id String Returns tasks with a specified parent task ID (node_id:task_number). Keep empty or set to -1 to return all.
wait_for_completion Boolean Waits for the matching tasks to complete. (Default: false)
group_by Enum Groups tasks by parent/child relationships or nodes. (Default: nodes)
timeout Time An explicit operation timeout. (Default: 30 seconds)
master_timeout Time The time to wait for a connection to the primary node. (Default: 30 seconds)

For example, this request returns tasks currently running on a node named opensearch-node1:

Sample Request

GET /_tasks?nodes=opensearch-node1

Sample Response

{
  "nodes": {
    "Mgqdm0r9SEGClWxp_RbnaQ": {
      "name": "opensearch-node1",
      "transport_address": "sample_address",
      "host": "sample_host",
      "ip": "sample_ip",
      "roles": [
        "data",
        "ingest",
        "master",
        "remote_cluster_client"
      ],
      "tasks": {
        "Mgqdm0r9SEGClWxp_RbnaQ:24578": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 24578,
          "type": "transport",
          "action": "cluster:monitor/tasks/lists",
          "start_time_in_millis": 1611612517044,
          "running_time_in_nanos": 638700,
          "cancellable": false,
          "headers": {}
        },
        "Mgqdm0r9SEGClWxp_RbnaQ:24579": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 24579,
          "type": "direct",
          "action": "cluster:monitor/tasks/lists[n]",
          "start_time_in_millis": 1611612517044,
          "running_time_in_nanos": 222200,
          "cancellable": false,
          "parent_task_id": "Mgqdm0r9SEGClWxp_RbnaQ:24578",
          "headers": {}
        }
      }
    }
  }
}

The following request will return detailed information about active search tasks:

Sample Request

curl -XGET "localhost:9200/_tasks?actions=*search&detailed

Sample Response

{
  "nodes" : {
    "CRqNwnEeRXOjeTSYYktw-A" : {
      "name" : "runTask-0",
      "transport_address" : "127.0.0.1:9300",
      "host" : "127.0.0.1",
      "ip" : "127.0.0.1:9300",
      "roles" : [
        "cluster_manager",
        "data",
        "ingest",
        "remote_cluster_client"
      ],
      "attributes" : {
        "testattr" : "test",
        "shard_indexing_pressure_enabled" : "true"
      },
      "tasks" : {
        "CRqNwnEeRXOjeTSYYktw-A:677" : {
          "node" : "CRqNwnEeRXOjeTSYYktw-A",
          "id" : 677,
          "type" : "transport",
          "action" : "indices:data/read/search",
          "description" : "indices[], search_type[QUERY_THEN_FETCH], source[{\"query\":{\"query_string\":<QUERY_STRING>}}]",
          "start_time_in_millis" : 1660106254525,
          "running_time_in_nanos" : 1354236,
          "cancellable" : true,
          "cancelled" : false,
          "headers" : { },
          "resource_stats" : {
            "total" : {
              "cpu_time_in_nanos" : 0,
              "memory_in_bytes" : 0
            }
          }
        }
      }
    }
  }
}

Task canceling

After getting a list of tasks, you can cancel all cancelable tasks with the following request:

POST _tasks/_cancel

Note that not all tasks are cancelable. To see if a task is cancelable, refer to the cancellable field in the response to your tasks API request.

You can also cancel a task by including a specific task ID.

POST _tasks/<task_id>/_cancel

The cancel operation supports the same parameters as the tasks operation. The following example shows how to cancel all cancelable tasks on multiple nodes.

POST _tasks/_cancel?nodes=opensearch-node1,opensearch-node2

Attaching headers to tasks

To associate requests with tasks for better tracking, you can provide a X-Opaque-Id:<ID_number> header as part of the HTTPS request reader of your curl command. The API will attach the specified header in the returned result.

Usage:

curl -i -H "X-Opaque-Id: 111111" "https://localhost:9200/_tasks" -u 'admin:admin' --insecure

The _tasks operation returns the following result.

HTTP/1.1 200 OK
X-Opaque-Id: 111111
content-type: application/json; charset=UTF-8
content-length: 768

{
  "nodes": {
    "Mgqdm0r9SEGClWxp_RbnaQ": {
      "name": "opensearch-node1",
      "transport_address": "172.18.0.4:9300",
      "host": "172.18.0.4",
      "ip": "172.18.0.4:9300",
      "roles": [
        "data",
        "ingest",
        "master",
        "remote_cluster_client"
      ],
      "tasks": {
        "Mgqdm0r9SEGClWxp_RbnaQ:30072": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 30072,
          "type": "direct",
          "action": "cluster:monitor/tasks/lists[n]",
          "start_time_in_millis": 1613166701725,
          "running_time_in_nanos": 245400,
          "cancellable": false,
          "parent_task_id": "Mgqdm0r9SEGClWxp_RbnaQ:30071",
          "headers": {
            "X-Opaque-Id": "111111"
          }
        },
        "Mgqdm0r9SEGClWxp_RbnaQ:30071": {
          "node": "Mgqdm0r9SEGClWxp_RbnaQ",
          "id": 30071,
          "type": "transport",
          "action": "cluster:monitor/tasks/lists",
          "start_time_in_millis": 1613166701725,
          "running_time_in_nanos": 658200,
          "cancellable": false,
          "headers": {
            "X-Opaque-Id": "111111"
          }
        }
      }
    }
  }
}

This operation supports the same parameters as the tasks operation. The following example shows how you can associate X-Opaque-Id with specific tasks:

curl -i -H "X-Opaque-Id: 123456" "https://localhost:9200/_tasks?nodes=opensearch-node1" -u 'admin:admin' --insecure