ExponentialBackOffWithJitter class
Implementerar en exponentiell backoff med jitter-återförsöksstrategi. Funktionen för att beräkna nästa intervall är följande (x är det x:e återförsöket): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
Konstruktorer
| Exponential |
Initierar en ny instans av klassen ExponentialBackOffWithJitter. |
Egenskaper
| immediate |
Booleskt värde som anger om det första återförsöket ska vara omedelbart (om det är inställt på sant) eller efter normalParameters.c-fördröjningen (om det är inställt på false). |
| normal |
Försök med parametrar som används för att beräkna fördröjningen mellan varje nytt försök i normala situationer (dvs. inte begränsad). |
| throttled |
Försök med parametrar som används för att beräkna fördröjningen mellan varje nytt försök i begränsade situationer. |
Metoder
| next |
Beräknar intervallet som ska vänta innan nytt försök vid varje nytt nytt försök preliminärt. |
| should |
Baserat på det fel som skickas som argument avgör om ett fel är tillfälligt och om åtgärden ska utföras igen eller inte. |
Konstruktorinformation
ExponentialBackOffWithJitter(boolean, ErrorFilter)
Initierar en ny instans av klassen ExponentialBackOffWithJitter.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
Parametrar
- immediateFirstRetry
-
boolean
booleskt värde som anger om det första återförsöket ska vara omedelbart (standard) eller vänta det första intervallet (c-värde).
- errorFilter
-
ErrorFilter
Egenskapsinformation
immediateFirstRetry
Booleskt värde som anger om det första återförsöket ska vara omedelbart (om det är inställt på sant) eller efter normalParameters.c-fördröjningen (om det är inställt på false).
immediateFirstRetry: boolean
Egenskapsvärde
boolean
normalParameters
Försök med parametrar som används för att beräkna fördröjningen mellan varje nytt försök i normala situationer (dvs. inte begränsad).
normalParameters: ExponentialBackoffWithJitterParameters
Egenskapsvärde
ExponentialBackoffWithJitterParameters
throttledParameters
Försök med parametrar som används för att beräkna fördröjningen mellan varje nytt försök i begränsade situationer.
throttledParameters: ExponentialBackoffWithJitterParameters
Egenskapsvärde
ExponentialBackoffWithJitterParameters
Metodinformation
nextRetryTimeout(number, boolean)
Beräknar intervallet som ska vänta innan nytt försök vid varje nytt nytt försök preliminärt.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
Parametrar
- retryCount
-
number
Aktuellt nytt försök preliminärt.
- isThrottled
-
boolean
Booleskt värde som anger om Azure IoT-hubben är begränsningsåtgärder.
Returer
number
Tiden att vänta innan du försöker göra ett nytt försök i millisekunder.
shouldRetry(Error)
Baserat på det fel som skickas som argument avgör om ett fel är tillfälligt och om åtgärden ska utföras igen eller inte.
function shouldRetry(error: Error): boolean
Parametrar
- error
-
Error
Felet som påträffades av åtgärden.
Returer
boolean
Om åtgärden ska göras om eller inte.