작업 개체를 사용한 비동기 처리
일부 배포 API 호출, 특히 리소스를 생성하거나 수정하는 호출은 다른 호출보다 완료하는 데 시간이 오래 걸릴 수 있습니다. ONTAP Select 배포는 오래 실행되는 이러한 요청을 비동기적으로 처리합니다.
작업 개체를 사용하여 설명된 비동기 요청
비동기적으로 실행되는 API 호출을 수행한 후 HTTP 응답 코드 202는 요청이 성공적으로 유효성 확인 및 승인되었지만 아직 완료되지 않았음을 나타냅니다. 요청은 클라이언트에 대한 초기 HTTP 응답 후 계속 실행되는 백그라운드 작업으로 처리됩니다. 응답에는 고유한 식별자를 포함하여 요청을 고정하는 작업 객체가 포함됩니다.
ONTAP Select 배포 온라인 설명서 페이지에서 비동기적으로 작동하는 API 호출을 확인해야 합니다. |
API 요청과 연결된 작업 객체를 쿼리합니다
HTTP 응답에서 반환된 작업 개체에는 여러 속성이 포함되어 있습니다. 상태 속성을 쿼리하여 요청이 성공적으로 완료되었는지 확인할 수 있습니다. 작업 오브젝트는 다음 상태 중 하나일 수 있습니다.
-
대기열에 있습니다
-
실행 중입니다
-
성공
-
실패
작업 개체를 폴링하여 작업의 터미널 상태를 감지할 때 성공 또는 실패 등 두 가지 방법을 사용할 수 있습니다.
-
표준 폴링 요청입니다
현재 작업 상태가 즉시 반환됩니다 -
긴 폴링 요청
작업 상태는 다음 중 하나가 발생할 경우에만 반환됩니다.-
상태가 폴링 요청에 제공된 날짜-시간 값보다 최근 변경되었습니다
-
시간 초과 값이 만료되었습니다(1-120초).
-
표준 폴링과 긴 폴링은 동일한 API 호출을 사용하여 작업 객체를 쿼리합니다. 그러나 긴 폴링 요청에는 두 가지 쿼리 매개 변수가 포함됩니다. poll_timeout
및 last_modified
.
항상 긴 폴링을 사용하여 배포 가상 머신의 워크로드를 줄여야 합니다. |
비동기 요청을 실행하는 일반 절차입니다
다음 고급 절차를 사용하여 비동기 API 호출을 완료할 수 있습니다.
-
비동기 API 호출을 실행합니다.
-
요청을 성공적으로 수락했음을 나타내는 HTTP 응답 202 을 수신합니다.
-
응답 본문에서 작업 객체의 식별자를 추출합니다.
-
루프 내에서 각 사이클에서 다음을 수행합니다.
-
장기 폴링 요청으로 작업의 현재 상태를 가져옵니다
-
작업이 비터미널 상태(대기, 실행 중)인 경우 루프를 다시 수행합니다.
-
-
작업이 터미널 상태(성공, 실패)에 도달하면 중지합니다.