你当前正在访问 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 |
用于在正常情况下计算每次重试之间的延迟的重试参数(即未限制)。 |
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
用于在正常情况下计算每次重试之间的延迟的重试参数(即未限制)。
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
是否应重试作。