Udostępnij za pośrednictwem


ExponentialBackOffWithJitter class

Implementuje wycofywanie wykładnicze ze strategią jitter ponawiania prób. Funkcja obliczania następnego interwału jest następująca (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 ustawiono 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 ponowieniem próby przy każdej nowej wstępnie ponowieniu próby.

shouldRetry(Error)

Na podstawie błędu przekazanego jako argument określa, czy błąd jest przejściowy i czy 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 odczekać 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 ustawiono 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 ponowieniem próby przy każdej nowej wstępnie ponowieniu próby.

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

Parametry

retryCount

number

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

isThrottled

boolean

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

Zwraca

number

Czas oczekiwania przed podjęciem próby ponowienia próby w milisekundach.

shouldRetry(Error)

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

function shouldRetry(error: Error): boolean

Parametry

error

Error

Błąd napotkany przez operację.

Zwraca

boolean

Czy operacja powinna zostać ponowiona, czy nie.