HCHttpCallRequestGetRetryDelay
Obtient le délai avant nouvelle tentative HTTP en secondes. Le délai par défaut et minimal est de 2 secondes.Syntaxe
Paramètres
call _In_opt_Type : HCCallHandle Handle de l’appel HTTP. Passez nullptr pour obtenir la valeur par défaut des appels futurs. retryDelayInSeconds _In_
Type : uint32_t* Délai avant nouvelle tentative en secondes.
Valeur renvoyée
Type : HRESULT Code de résultat de cette opération d’API. Les valeurs possibles sont S_OK, E_INVALIDARG ou E_FAIL.Remarques
Les nouvelles tentatives sont retardées selon un backoff exponentiel. Par défaut, le délai est de 2 secondes, puis de 4 secondes pour la tentative suivante, puis de 8 secondes, et ainsi de suite jusqu’à un maximum d’une minute, jusqu’à ce que l’appel réussisse ou que la fenêtre de délai d’expiration HTTP soit atteinte, auquel cas l’appel échoue. Le délai est également soumis à une gigue entre le délai actuel et le suivant afin de répartir la charge du service. La valeur par défaut de la fenêtre de délai d’expiration HTTP est de 20 secondes et peut être modifiée à l’aide de HCSettingsSetTimeoutWindow()Si le service renvoie une erreur HTTP avec un en-tête « Retry-After », tous les appels futurs à cette API échouent immédiatement avec l’erreur d’origine sans contacter le service jusqu’à ce que le délai « Retry-After » soit atteint.
Les appels de service idempotents font l’objet de nouvelles tentatives lorsqu’une erreur réseau se produit ou que le serveur répond
avec l’un des codes d’état HTTP suivants :
408 (Request Timeout)
429 (Too Many Requests)
500 (Internal Server Error)
502 (Bad Gateway)
503 (Service Unavailable)
504 (Gateway Timeout)
