태스크 취소 API
태스크 취소 API (Cancel Tasks API)
Cancel Tasks API는 태스크를 취소해 클러스터에서 실행을 중지시켜요. 모든 태스크가 취소 가능한 것은 아니에요. 태스크가 취소 가능한지 확인하려면 Cancel Tasks API 응답의 cancellable 필드를 확인하세요.
도입 버전 1.0
엔드포인트
POST /_tasks/_cancel
POST /_tasks/{task_id}/_cancel
경로 파라미터
다음 표는 사용 가능한 경로 파라미터를 보여줘요. 모든 경로 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| task_id | String | 태스크 ID예요. |
쿼리 파라미터
다음 표는 사용 가능한 쿼리 파라미터를 보여줘요. 모든 쿼리 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| actions | List 또는 String | 반환할 작업(action)의 쉼표로 구분된 목록이에요. 비워 두면 모두 반환해요. |
| nodes | List | 반환 정보를 제한하는 데 사용하는 노드 ID 또는 이름의 쉼표로 구분된 목록이에요. 연결 중인 노드의 정보를 반환하려면 _local을, 특정 노드의 정보를 얻으려면 노드 이름을, 모든 노드의 정보를 얻으려면 파라미터를 비워 두면 돼요. |
| parent_task_id | String | 지정한 부모 태스크 ID( node_id:task_number )를 가진 태스크를 반환해요. 비워 두거나 -1로 설정하면 모두 반환해요. |
| wait_for_completion | Boolean | 일치하는 태스크가 완료될 때까지 기다려요. 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
}
}
}
}
}
필요한 권한
Security 플러그인을 사용한다면 적절한 권한이 있는지 확인하세요: cluster:admin/tasks/cancel.
출처: 문서