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
Exponential |
Inizializza una nuova istanza della classe ExponentialBackOffWithJitter. |
Proprietà
immediate |
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). |
normal |
Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni normali (ad esempio, non limitato). |
throttled |
Parametri di ripetizione dei tentativi usati per calcolare il ritardo tra ogni tentativo in situazioni limitate. |
Metodi
next |
Calcola l'intervallo di attesa prima di riprovare a ogni nuovo tentativo provvisorio. |
should |
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.