다음을 통해 공유


HCHttpCallRequestGetRetryDelay

HTTP 재시도 지연 시간(초)을 가져옵니다. 기본 및 최소 지연 시간은 2초입니다.

구문

HRESULT HCHttpCallRequestGetRetryDelay(  
         HCCallHandle call,  
         uint32_t* retryDelayInSeconds  
)  

매개 변수

call _In_opt_
형식: HCCallHandle

HTTP 호출의 핸들입니다. 이후 호출에 대한 기본값을 가져오려면 nullptr을 전달합니다.

retryDelayInSeconds _In_
형식: uint32_t*

재시도 지연 시간(초)입니다.

반환 값

형식: HRESULT

이 API 작업에 대한 결과 코드입니다. 가능한 값은 S_OK, E_INVALIDARG 또는 E_FAIL입니다.

설명

재시도는 지수 백오프를 사용하여 지연됩니다. 기본적으로 2초가 지연되고, 호출이 성공할 때까지 또는 HTTP 시간 초과 기간에 도달하여 호출이 실패하는 지점까지 다음에 재시도할 때마다 지연 시간이 4초, 8초에서 최대 1분까지 늘어납니다. 또한 지연 시간은 서비스 부하를 확산하기 위해 현재 지연과 다음 지연 사이에 지터됩니다. HTTP 제한 시간의 기본값은 20초이며 HCSettingsSetTimeoutWindow()를 사용하여 변경할 수 있습니다.

서비스에서 "Retry-After"라는 헤더가 있는 HTTP 오류가 반환되는 경우, "Retry-After" 시간에 도달할 때까지 서비스에 연결하지 않고 해당 API에 대한 이후의 모든 호출은 바로 원래 오류가 발생하여 실패하게 됩니다.

네트워크 오류가 발생하거나 서버가 응답할 때 Idempotent 서비스 통화가 재시도됩니다
다음 HTTP 상태 코드 중 하나를 사용하여 다음을 실행합니다.
408(Request Timeout)
429(Too Many Requests)
500(Internal Server Error)
502(Bad Gateway)
503(Service Unavailable)
504(Gateway Timeout)

요구 사항

헤더: httpProvider.h

라이브러리: libHttpClient.GDK.lib

참고 항목

httpProvider