你当前正在访问 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)

构造函数

ExponentialBackOffWithJitter(boolean, ErrorFilter)

初始化 ExponentialBackOffWithJitter 类的新实例。

属性

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

是否应重试作。