비동기 결과 가져오기
사용할 수 있습니다 GetAsyncResult 비동기 메서드 호출의 결과를 검색합니다. 일부 메서드 호출은 실행하는 데 시간이 걸리며, 시스템이 초기 응답을 보낼 때 완료되지 않을 수도 있습니다. 메서드 호출의 상태나 결과를 얻으려면 다음을 사용하세요. GetAsyncResult 메서드에서 반환된 asyncHandle 값을 폴링합니다.
`GetAsyncResult`표준 방식으로 작업의 전반적인 상태(진행 중, 완료 또는 오류)를 반환하지만, 작업에 대해 반환되는 실제 데이터는 원래 메서드 호출에 따라 달라지며 반환 데이터는 각 메서드에 문서화되어 있습니다.
keepResult 매개변수가 누락되었거나 false인 경우, 결과가 반환될 때 asyncHandle이 비활성화되고, 나중에 asyncHandle을 쿼리하려고 시도하면 오류가 반환됩니다. keepResult 매개변수를 true로 설정하면 향후 쿼리에서 asyncHandle을 활성 상태로 유지할 수 있습니다.
매개변수
이 방법에는 다음과 같은 입력 매개변수가 있습니다.
| 이름 | 설명 | 유형 | 기본값 | 필수의 |
|---|---|---|---|---|
비동기 핸들 |
원래 비동기 메서드 호출에서 반환된 값입니다. |
정수 |
None |
예 |
keepResult |
true인 경우 GetAsyncResult는 반환 시 비동기 결과를 제거하지 않으므로 향후 해당 asyncHandle에 대한 쿼리가 가능합니다. |
부울 |
거짓 |
아니요 |
반환 값
이 메서드는 다음과 같은 반환 값을 갖습니다.
| 이름 | 설명 | 유형 |
|---|---|---|
상태 |
비동기 메서드 호출의 상태입니다. 가능한 값:
|
끈 |
결과 |
비동기 메서드가 성공적으로 완료되면 이는 비동기 작업의 결과입니다. 비동기 작업이 실패하면 이 멤버는 존재하지 않습니다. |
끈 |
오류 |
상태가 완료이고 비동기 메서드가 실패한 경우 이 멤버에는 오류 세부 정보가 포함됩니다. 비동기 작업이 성공하면 이 멤버는 존재하지 않습니다. |
끈 |
결과 유형 |
비동기 메서드 호출이 수행 중이거나 수행 중이었던 작업의 유형입니다. |
끈 |
세부 |
상태가 실행 중이면 이 멤버에는 메서드의 현재 작업과 관련된 정보가 포함됩니다. 비동기 메서드가 실행 중이 아니면 이 멤버는 존재하지 않습니다. |
JSON 객체 |
생성시간 |
비동기 메서드가 호출된 시간(UTC+0 형식)입니다. |
ISO 8601 날짜 문자열 |
마지막 업데이트 시간 |
비동기 메서드의 상태가 마지막으로 업데이트된 시간(UTC+0 형식)입니다. |
ISO 8601 날짜 문자열 |
참고: GetAsyncResult의 반환 값은 기본적으로 추가 상태 필드가 있는 표준 JSON 응답의 중첩 버전입니다.
요청 예시
이 방법에 대한 요청은 다음 예와 유사합니다.
{
"method": "GetAsyncResult",
"params": {
"asyncHandle" : 389
},
"id" : 1
}
응답 예: 메서드 오류
이 메서드는 다음 예와 유사한 응답을 반환합니다.
{
"error": {
"code": 500,
"message": "DBClient operation requested on a non-existent path at [/asyncresults/1]",
"name": "xDBNoSuchPath"
},
"id": 1
}
"response"가 GetAsyncResult 호출의 JSON 응답 개체인 경우 "response.error"는 GetAsyncResult 메서드 자체의 오류(존재하지 않는 asyncHandle을 쿼리하는 것과 같은)에 해당합니다.
응답 예: 비동기 작업 오류
이 메서드는 다음 예와 유사한 응답을 반환합니다.
{
"id": 1,
"result": {
"createTime": "2016-01-01T02:05:53Z",
"error": {
"bvID": 1,
"message": "Bulk volume job failed",
"name": "xBulkVolumeScriptFailure",
"volumeID": 34
},
"lastUpdateTime": "2016-01-21T02:06:56Z",
"resultType": "BulkVolume",
"status": "complete"
}
}
`response.result.error`는 원래 메서드 호출의 오류 결과에 해당합니다.
응답 예: 비동기 작업 성공
이 메서드는 다음 예와 유사한 응답을 반환합니다.
{
"id": 1,
"result": {
"createTime": "2016-01-01T22:29:18Z",
"lastUpdateTime": "2016-01-01T22:45:51Z",
"result": {
"cloneID": 25,
"message": "Clone complete.",
"volumeID": 47
},
"resultType": "Clone",
"status": "complete"
}
}
"response.result.result"는 호출이 성공적으로 완료된 경우 원래 메서드 호출에 대한 반환 값입니다.
버전 이후 새로운
9.6