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