Udostępnij za pośrednictwem


ExponentialBackOffWithJitter class

Implementuje wykładniczą strategię wycofywania z użyciem strategii ponawiania prób. Funkcja obliczania następnego interwału jest następująca (x to x to x ponawianie próby): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

Konstruktory

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Inicjuje nowe wystąpienie klasy ExponentialBackOffWithJitter.

Właściwości

immediateFirstRetry

Wartość logiczna wskazująca, czy pierwsza ponowna próba powinna być natychmiastowa (jeśli ustawiono wartość true) lub po opóźnieniu normalParameters.c (jeśli jest ustawiona wartość false).

normalParameters

Parametry ponawiania prób używane do obliczania opóźnienia między poszczególnymi ponownymi próbami w normalnych sytuacjach (tj. nie ograniczane).

throttledParameters

Parametry ponawiania prób używane do obliczania opóźnienia między poszczególnymi ponownymi próbami w sytuacjach ograniczonych.

Metody

nextRetryTimeout(number, boolean)

Oblicza interwał oczekiwania przed ponowieniu próby przy każdej nowej próbie wstępnie.

shouldRetry(Error)

Na podstawie błędu przekazanego jako argument określa, czy błąd jest przejściowy, a jeśli operacja powinna zostać ponowiona, czy nie.

Szczegóły konstruktora

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Inicjuje nowe wystąpienie klasy ExponentialBackOffWithJitter.

new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)

Parametry

immediateFirstRetry

boolean

wartość logiczna wskazująca, czy pierwsza ponowna próba powinna być natychmiastowa (wartość domyślna) lub poczekać pierwszy interwał (wartość c).

errorFilter

ErrorFilter

Szczegóły właściwości

immediateFirstRetry

Wartość logiczna wskazująca, czy pierwsza ponowna próba powinna być natychmiastowa (jeśli ustawiono wartość true) lub po opóźnieniu normalParameters.c (jeśli jest ustawiona wartość false).

immediateFirstRetry: boolean

Wartość właściwości

boolean

normalParameters

Parametry ponawiania prób używane do obliczania opóźnienia między poszczególnymi ponownymi próbami w normalnych sytuacjach (tj. nie ograniczane).

normalParameters: ExponentialBackoffWithJitterParameters

Wartość właściwości

ExponentialBackoffWithJitterParameters

throttledParameters

Parametry ponawiania prób używane do obliczania opóźnienia między poszczególnymi ponownymi próbami w sytuacjach ograniczonych.

throttledParameters: ExponentialBackoffWithJitterParameters

Wartość właściwości

ExponentialBackoffWithJitterParameters

Szczegóły metody

nextRetryTimeout(number, boolean)

Oblicza interwał oczekiwania przed ponowieniu próby przy każdej nowej próbie wstępnie.

function nextRetryTimeout(retryCount: number, isThrottled: boolean): number

Parametry

retryCount

number

Bieżące ponawianie próby wstępne.

isThrottled

boolean

Wartość logiczna wskazująca, czy usługa Azure IoT Hub ogranicza operacje.

Zwraca

number

Czas oczekiwania przed próbą ponawiania próby w milisekundach.

shouldRetry(Error)

Na podstawie błędu przekazanego jako argument określa, czy błąd jest przejściowy, a jeśli operacja powinna zostać ponowiona, czy nie.

function shouldRetry(error: Error): boolean

Parametry

error

Error

Błąd napotkany przez operację.

Zwraca

boolean

Niezależnie od tego, czy operacja powinna zostać ponowiona, czy nie.