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

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

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

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

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

是否应重试该操作。