你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

ExponentialBackOffWithJitter class

使用抖动重试策略实现指数退避。 计算下一个间隔的函数如下(x 是 x 次重试):F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

属性

immediateFirstRetry

指示第一次重试是否应立即(如果设置为 true)或 normalParameters.c 延迟之后(如果设置为 false)的布尔值。

normalParameters

用于在正常情况下计算每次重试之间的延迟的重试参数(即未限制)。

throttledParameters

用于在受限制的情况下计算每次重试之间的延迟的重试参数。

方法

nextRetryTimeout(number, boolean)

计算在每次新的重试暂定重试前等待的间隔。

shouldRetry(Error)

根据作为参数传递的错误,确定错误是否为暂时性错误,以及是否应重试作。

构造函数详细信息

ExponentialBackOffWithJitter(boolean, ErrorFilter)

初始化 ExponentialBackOffWithJitter 类的新实例。

new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)

参数

immediateFirstRetry

boolean

指示第一次重试是否应立即(默认值)或等待第一个间隔(c 值)的布尔值。

errorFilter

ErrorFilter

属性详细信息

immediateFirstRetry

指示第一次重试是否应立即(如果设置为 true)或 normalParameters.c 延迟之后(如果设置为 false)的布尔值。

immediateFirstRetry: boolean

属性值

boolean

normalParameters

用于在正常情况下计算每次重试之间的延迟的重试参数(即未限制)。

normalParameters: ExponentialBackoffWithJitterParameters

属性值

ExponentialBackoffWithJitterParameters

throttledParameters

用于在受限制的情况下计算每次重试之间的延迟的重试参数。

throttledParameters: ExponentialBackoffWithJitterParameters

属性值

ExponentialBackoffWithJitterParameters

方法详细信息

nextRetryTimeout(number, boolean)

计算在每次新的重试暂定重试前等待的间隔。

function nextRetryTimeout(retryCount: number, isThrottled: boolean): number

参数

retryCount

number

当前重试暂定性。

isThrottled

boolean

指示 Azure IoT 中心是否正在限制作的布尔值。

返回

number

尝试重试前等待的时间(以毫秒为单位)。

shouldRetry(Error)

根据作为参数传递的错误,确定错误是否为暂时性错误,以及是否应重试作。

function shouldRetry(error: Error): boolean

参数

error

Error

作遇到的错误。

返回

boolean

是否应重试作。