Skip to main content

HCHttpCallRequestGetRetryDelay

获取 HTTP 重试延迟(以秒为单位)。默认和最小延迟为 2 秒。

Syntax

Parameters

call   _In_opt_
Type: HCCallHandle
HTTP 调用的句柄。传入 nullptr 可获取用于未来调用的默认值。 retryDelayInSeconds   _In_
Type: uint32_t*
重试延迟(以秒为单位)。

Return value

Type: HRESULT 此 API 操作的结果代码。可能的值为 S_OK、E_INVALIDARG 或 E_FAIL。

Remarks

重试采用指数退避进行延迟。默认情况下,第一次延迟 2 秒,随后下一次重试延迟 4 秒,再下一次延迟 8 秒,依此类推,最长不超过 1 分钟,直到调用成功或达到 HTTP 超时窗口,此时该调用将失败。同时,在当前延迟和下一次延迟之间进行抖动处理,以分散服务负载。HTTP 超时窗口默认为 20 秒,可使用 HCSettingsSetTimeoutWindow() 更改。

如果服务返回带 “Retry-After” 标头的 HTTP 错误,则在达到 “Retry-After” 时间之前,对该 API 的所有后续调用都将立即以原始错误失败,而不会联系服务。

当发生网络错误或服务器返回以下 HTTP 状态代码之一时,将重试幂等服务调用:
408(请求超时)
429(请求过多)
500(内部服务器错误)
502(错误网关)
503(服务不可用)
504(网关超时)

Requirements

Header: httpProvider.h Library: libHttpClient.GDK.lib

See also

httpProvider
最后修改于 2026年8月13日