取消任务
1.0 版引入
取消任务 API 会取消一个任务,阻止其在集群中运行。并非所有任务都可以取消。要确定任务是否可取消,请检查取消任务 API 响应中的 cancellable
字段。
端点
POST /_tasks/_cancel
POST /_tasks/{task_id}/_cancel
路径参数
下表列出了可用的路径参数。所有路径参数均为可选。
参数 | 数据类型 | 描述 |
---|---|---|
task_id | 字符串 | 任务 ID。 |
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 |
---|---|---|
actions | 列表或字符串 | 逗号分隔的操作列表,应返回这些操作。留空表示返回所有操作。 |
节点 | 列表 | 逗号分隔的节点 ID 或名称列表,用于限制返回的信息。使用 _local 返回连接节点的信息,指定节点名称以获取特定节点的信息,或留空参数以获取所有节点的信息。 |
parent_task_id | 字符串 | 返回具有指定父任务 ID (node_id:task_number ) 的任务。留空或设置为 -1 表示返回所有任务。 |
wait_for_completion | 布尔型 | 等待匹配任务完成。当 true 时,请求将被阻塞直到任务完成。(默认值:false ) |
请求示例
以下请求将取消目前在 opensearch-node1
和 opensearch-node2
上运行的任何任务
POST _tasks/_cancel?nodes=opensearch-node1,opensearch-node2
示例响应
以下响应显示了一个批量写入和更新任务在没有节点故障的情况下被取消,并提供了有关已取消任务的更多信息
{
"node_failures": [],
"nodes": {
"JzrCxdtFTCO_RaINw8ckNA": {
"name": "opensearch-node1",
"transport_address": "127.0.0.1:9300",
"host": "127.0.0.1",
"ip": "127.0.0.1:9300",
"roles": [
"data",
"ingest",
"cluster_manager",
"remote_cluster_client"
],
"attributes": {},
"tasks": {
"JzrCxdtFTCO_RaINw8ckNA:54": {
"node": "JzrCxdtFTCO_RaINw8ckNA",
"id": 54,
"type": "transport",
"action": "indices:data/write/bulk",
"status": "cancelled",
"description": "bulk request to [test_index]",
"start_time_in_millis": 1625145678901,
"running_time_in_nanos": 2345678,
"cancellable": true,
"cancelled": true
}
}
},
"K8iyDdtGQCO_SbJNw9dkMB": {
"name": "opensearch-node2",
"transport_address": "127.0.0.1:9301",
"host": "127.0.0.1",
"ip": "127.0.0.1:9301",
"roles": [
"data",
"ingest",
"master",
"remote_cluster_client"
],
"attributes": {},
"tasks": {
"K8iyDdtGQCO_SbJNw9dkMB:78": {
"node": "K8iyDdtGQCO_SbJNw9dkMB",
"id": 78,
"type": "transport",
"action": "indices:data/write/update",
"status": "cancelled",
"description": "updating document in [another_index]",
"start_time_in_millis": 1625145679012,
"running_time_in_nanos": 1234567,
"cancellable": true,
"cancelled": true
}
}
}
}
}