태스크 조회 API

태스크 조회 API (Get Task API)

Get Task API는 검색, 재인덱싱, 벌크 작업 같은 단일 일반 OpenSearch 태스크에 대한 자세한 정보를 반환해요.

도입 버전 1.0

이 API는 머신러닝 태스크를 추적하고 응답 형식이 다른 Get ML Task API와 다르다는 점에 주의하세요.

엔드포인트

GET /_tasks/{task_id}

경로 파라미터

다음 표는 사용 가능한 경로 파라미터를 보여줘요.

파라미터 필수 여부 데이터 타입 설명
task_id 필수 String 태스크 ID예요.

쿼리 파라미터

다음 표는 사용 가능한 쿼리 파라미터를 보여줘요. 모든 쿼리 파라미터는 선택 사항이에요.

파라미터 데이터 타입 설명 기본값
timeout String 응답을 기다리는 시간이에요. 30s
wait_for_completion Boolean 일치하는 태스크가 완료될 때까지 기다려요. true 면 태스크가 완료될 때까지 요청이 차단돼요. false

예제 요청

다음 요청은 활성 검색 태스크에 대한 자세한 정보를 반환해요:

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

예제 응답

다음 응답은 transport 태스크에 대한 자세한 정보를 반환해요:

{
  "nodes": {
    "JzrCxdtFTCO_RaINw8ckNA": {
      "name": "node-1",
      "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"
      ],
      "tasks": {
        "JzrCxdtFTCO_RaINw8ckNA:54321": {
          "node": "JzrCxdtFTCO_RaINw8ckNA",
          "id": 54321,
          "type": "transport",
          "action": "indices:data/read/search",
          "status": {
            "total": 1000,
            "created": 0,
            "updated": 0,
            "deleted": 0,
            "batches": 1,
            "version_conflicts": 0,
            "noops": 0,
            "retries": {
              "bulk": 0,
              "search": 0
            },
            "throttled_millis": 0,
            "requests_per_second": -1.0,
            "throttled_until_millis": 0
          },
          "description": "indices[test_index], types[_doc], search_type[QUERY_THEN_FETCH], source[{\"query\":{\"match_all\":{}}}]",
          "start_time_in_millis": 1625145678901,
          "running_time_in_nanos": 2345678,
          "cancellable": true
        }
      }
    }
  }
}

resource_stats 객체

resource_stats 객체는 리소스 추적을 지원하는 태스크에 대해서만 업데이트돼요. 이 통계는 예약된 스레드 실행을 기준으로 계산되며, 태스크 작업을 마친 스레드와 현재 작업 중인 스레드를 모두 포함해요. 같은 스레드가 같은 태스크에서 여러 번 작업하도록 예약될 수 있으므로, 특정 태스크에서 작업하도록 예약된 각 스레드의 각 인스턴스는 단일 스레드 실행으로 간주돼요.

다음 표는 resource_stats 객체의 모든 응답 필드를 보여줘요.

응답 필드 설명
average 예약된 모든 스레드 실행에서의 평균 리소스 사용량이에요.
total 예약된 모든 스레드 실행에서의 총 리소스 사용량이에요.
min 예약된 모든 스레드 실행에서의 최소 리소스 사용량이에요.
max 예약된 모든 스레드 실행에서의 최대 리소스 사용량이에요.
thread_info 스레드 수와 관련된 통계예요.
thread_info.active_threads 현재 태스크에서 작업 중인 스레드 수예요.
thread_info.thread_executions 태스크에서 작업하도록 예약된 스레드 수예요.

필요한 권한

Security 플러그인을 사용한다면 적절한 권한이 있는지 확인하세요: cluster:monitor/tasks/get.

출처: 문서