你当前正在访问 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)
构造函数
Exponential |
初始化 ExponentialBackOffWithJitter 类的新实例。 |
属性
immediate |
指示第一次重试是立即 (设置为 true) ,还是在 normalParameters.c 延迟 ((如果设置为 false) )后立即 (的布尔值。 |
normal |
用于计算正常情况下每次重试之间的延迟的重试参数 (ie。不受限制) 。 |
throttled |
重试参数,用于计算受限制情况下每次重试之间的延迟。 |
方法
next |
计算在每次新重试暂定时重试之前等待的间隔。 |
should |
根据作为参数传递的错误,确定错误是否为暂时性错误,以及是否应重试该操作。 |
构造函数详细信息
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
是否应重试该操作。