Condividi tramite


ExponentialBackOffWithJitter class

Implementa un backoff esponenziale con la strategia di ripetizione dei tentativi di 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 limitato).

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 provvisorio.

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 limitato).

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 provvisorio.

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

Parametri

retryCount

number

Tentativo corrente provvisorio.

isThrottled

boolean

Valore booleano che indica se l'hub IoT di Azure è una limitazione delle 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.