HCHttpCallRequestGetRetryDelay
Obtiene el retraso de reintento HTTP en segundos. El retraso predeterminado y mínimo es de 2 segundos.Sintaxis
Parámetros
call _In_opt_Tipo: HCCallHandle El identificador de la llamada HTTP. Pase nullptr para obtener el valor predeterminado para llamadas futuras. retryDelayInSeconds _In_
Tipo: uint32_t* El retraso de reintento en segundos.
Valor devuelto
Tipo: HRESULT Código de resultado de esta operación de API. Los valores posibles son S_OK, E_INVALIDARG o E_FAIL.Comentarios
Los reintentos se retrasan mediante un retroceso exponencial. De forma predeterminada, se retrasará 2 segundos, luego el siguiente reintento se retrasará 4 segundos, luego 8 segundos, y así sucesivamente hasta un máximo de 1 minuto, hasta que la llamada se realice correctamente o se alcance la ventana de tiempo de espera HTTP, momento en el que la llamada producirá un error. El retraso también se distribuye aleatoriamente entre el retraso actual y el siguiente para repartir la carga del servicio. El valor predeterminado de la ventana de tiempo de espera HTTP es de 20 segundos y se puede cambiar mediante HCSettingsSetTimeoutWindow()Si el servicio devuelve un error HTTP con un encabezado “Retry-After”, todas las llamadas futuras a esa API producirán inmediatamente un error con el error original sin ponerse en contacto con el servicio hasta que se alcance el tiempo indicado en “Retry-After”.
Las llamadas de servicio idempotentes se reintentan cuando se produce un error de red o cuando el servidor responde
con uno de estos códigos de estado HTTP:
408 (Request Timeout)
429 (Too Many Requests)
500 (Internal Server Error)
502 (Bad Gateway)
503 (Service Unavailable)
504 (Gateway Timeout)
