ExponentialBackOffWithJitter class
Implementiert eine Exponentielle Backoff-Strategie mit Jitter-Wiederholungsversuchen. Die Funktion zum Berechnen des nächsten Intervalls ist die folgende (x ist der xte Wiederholungsversuch): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
Konstruktoren
Exponential |
Initialisiert eine neue Instanz der ExponentialBackOffWithJitter-Klasse. |
Eigenschaften
immediate |
Boolesch, der angibt, ob der erste Wiederholungsversuch sofort (wenn auf true festgelegt) oder nach der Verzögerung normalParameters.c (wenn auf false festgelegt) erfolgen soll. |
normal |
Wiederholungsparameter, die verwendet werden, um die Verzögerung zwischen den einzelnen Wiederholungsversuchen in normalen Situationen zu berechnen (also nicht gedrosselt). |
throttled |
Wiederholungsparameter, die zum Berechnen der Verzögerung zwischen den einzelnen Wiederholungsversuchen in gedrosselten Situationen verwendet werden. |
Methoden
next |
Berechnet das Intervall, in dem gewartet werden soll, bevor bei jedem neuen Wiederholungsversuch mit Vorbehalt erneut versucht wird. |
should |
Bestimmt anhand des als Argument übergebenen Fehlers, ob ein Fehler vorübergehend ist und ob der Vorgang wiederholt werden soll oder nicht. |
Details zum Konstruktor
ExponentialBackOffWithJitter(boolean, ErrorFilter)
Initialisiert eine neue Instanz der ExponentialBackOffWithJitter-Klasse.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
Parameter
- immediateFirstRetry
-
boolean
Boolescher Wert, der angibt, ob der erste Wiederholungsversuch sofort erfolgen soll (Standard) oder das erste Intervall (c-Wert) warten soll.
- errorFilter
-
ErrorFilter
Details zur Eigenschaft
immediateFirstRetry
Boolesch, der angibt, ob der erste Wiederholungsversuch sofort (wenn auf true festgelegt) oder nach der Verzögerung normalParameters.c (wenn auf false festgelegt) erfolgen soll.
immediateFirstRetry: boolean
Eigenschaftswert
boolean
normalParameters
Wiederholungsparameter, die verwendet werden, um die Verzögerung zwischen den einzelnen Wiederholungsversuchen in normalen Situationen zu berechnen (also nicht gedrosselt).
normalParameters: ExponentialBackoffWithJitterParameters
Eigenschaftswert
ExponentialBackoffWithJitterParameters
throttledParameters
Wiederholungsparameter, die zum Berechnen der Verzögerung zwischen den einzelnen Wiederholungsversuchen in gedrosselten Situationen verwendet werden.
throttledParameters: ExponentialBackoffWithJitterParameters
Eigenschaftswert
ExponentialBackoffWithJitterParameters
Details zur Methode
nextRetryTimeout(number, boolean)
Berechnet das Intervall, in dem gewartet werden soll, bevor bei jedem neuen Wiederholungsversuch mit Vorbehalt erneut versucht wird.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
Parameter
- retryCount
-
number
Aktueller Wiederholungsversuch.
- isThrottled
-
boolean
Boolescher Wert, der angibt, ob der Azure IoT Hub Drosselungsvorgänge angibt.
Gibt zurück
number
Die Wartezeit, bevor sie einen Wiederholungsversuch in Millisekunden versucht.
shouldRetry(Error)
Bestimmt anhand des als Argument übergebenen Fehlers, ob ein Fehler vorübergehend ist und ob der Vorgang wiederholt werden soll oder nicht.
function shouldRetry(error: Error): boolean
Parameter
- error
-
Error
Der Fehler, der beim Vorgang aufgetreten ist.
Gibt zurück
boolean
Gibt an, ob der Vorgang wiederholt werden soll oder nicht.