Active IQ Unified Manager가 비동기 처리를 위해 작업 오브젝트를 사용하는 방식 이해
Active IQ Unified Manager는 다른 API를 실행하는 동안 수행된 작업에 대한 정보를 검색하는 jobs API를 제공합니다. Job 오브젝트를 사용하여 비동기 처리가 어떻게 작동하는지 알아야 합니다.
일부 API 호출, 특히 리소스를 추가하거나 수정하는 데 사용되는 호출은 다른 호출보다 완료하는 데 시간이 더 오래 걸릴 수 있습니다. Unified Manager는 이러한 장시간 실행되는 요청을 비동기적으로 처리합니다.
Job 객체를 사용하여 설명된 비동기 요청
비동기적으로 실행되는 API 호출 후 HTTP 응답 코드 202는 요청이 성공적으로 검증되고 수락되었지만 아직 완료되지 않았음을 나타냅니다. 요청은 백그라운드 작업으로 처리되며, 클라이언트에 대한 초기 HTTP 응답 이후에도 계속 실행됩니다. 응답에는 요청을 연결하는 Job 객체와 해당 고유 식별자가 포함됩니다.
API 요청과 연결된 Job 객체를 쿼리합니다
HTTP 응답에 반환되는 Job 객체에는 여러 속성이 포함되어 있습니다. state 속성을 조회하여 요청이 성공적으로 완료되었는지 확인할 수 있습니다. Job 객체는 다음 상태 중 하나일 수 있습니다.
-
NORMAL -
WARNING -
PARTIAL_FAILURES -
ERROR
Job 객체를 폴링하여 작업의 종료 상태(성공 또는 실패)를 감지하는 데 사용할 수 있는 두 가지 기술이 있습니다.
-
표준 폴링 요청: 현재 작업 상태가 즉시 반환됩니다.
-
장시간 폴링 요청: 작업 상태가
NORMAL, ERROR,또는 `PARTIAL_FAILURES.`로 변경될 때
비동기 요청의 단계
다음과 같은 상위 수준 절차를 사용하여 비동기 API 호출을 완료할 수 있습니다.
-
비동기 API 호출을 실행합니다.
-
요청이 성공적으로 수락되었음을 나타내는 HTTP 응답 202를 수신합니다.
-
응답 본문에서 Job 객체의 식별자를 추출합니다.
-
반복문 내에서 Job 오브젝트가 종료 상태
NORMAL, ERROR,또는 `PARTIAL_FAILURES.`에 도달할 때까지 기다립니다 -
작업의 최종 상태를 확인하고 작업 결과를 검색합니다.