Condividi tramite


ExponentialBackOffWithJitter class

Implementa un backoff esponenziale con la strategia di ripetizione dei tentativi jitter. La funzione per calcolare l'intervallo successivo è la seguente (x è la xth retry): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

Costruttori

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Inizializza una nuova istanza della classe ExponentialBackOffWithJitter.

Proprietà

immediateFirstRetry

Valore booleano che indica se il primo tentativo deve essere immediato (se impostato su true) o dopo il ritardo normalParameters.c (se impostato su false).

normalParameters

Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni normali (ad esempio, non limitate).

throttledParameters

Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni limitate.

Metodi

nextRetryTimeout(number, boolean)

Calcola l'intervallo di attesa prima di riprovare a ogni nuovo tentativo.

shouldRetry(Error)

In base all'errore passato come argomento, determina se un errore è temporaneo e se l'operazione deve essere ritentata o meno.

Dettagli costruttore

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Inizializza una nuova istanza della classe ExponentialBackOffWithJitter.

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

Parametri

immediateFirstRetry

boolean

booleano che indica se il primo tentativo deve essere immediato (impostazione predefinita) o attendere il primo intervallo (valore c).

errorFilter

ErrorFilter

Dettagli proprietà

immediateFirstRetry

Valore booleano che indica se il primo tentativo deve essere immediato (se impostato su true) o dopo il ritardo normalParameters.c (se impostato su false).

immediateFirstRetry: boolean

Valore della proprietà

boolean

normalParameters

Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni normali (ad esempio, non limitate).

normalParameters: ExponentialBackoffWithJitterParameters

Valore della proprietà

ExponentialBackoffWithJitterParameters

throttledParameters

Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni limitate.

throttledParameters: ExponentialBackoffWithJitterParameters

Valore della proprietà

ExponentialBackoffWithJitterParameters

Dettagli metodo

nextRetryTimeout(number, boolean)

Calcola l'intervallo di attesa prima di riprovare a ogni nuovo tentativo.

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

Parametri

retryCount

number

Tentativo corrente.

isThrottled

boolean

Valore booleano che indica se l'hub IoT di Azure sta limitando le operazioni.

Restituisce

number

Tempo di attesa prima di tentare un nuovo tentativo in millisecondi.

shouldRetry(Error)

In base all'errore passato come argomento, determina se un errore è temporaneo e se l'operazione deve essere ritentata o meno.

function shouldRetry(error: Error): boolean

Parametri

error

Error

Errore rilevato dall'operazione.

Restituisce

boolean

Indica se l'operazione deve essere ritentata o meno.