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
操作を再試行する必要があるかどうか。