Freigeben über


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

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Initialisiert eine neue Instanz der ExponentialBackOffWithJitter-Klasse.

Eigenschaften

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.

normalParameters

Wiederholungsparameter, die verwendet werden, um die Verzögerung zwischen den einzelnen Wiederholungsversuchen in normalen Situationen zu berechnen (also nicht gedrosselt).

throttledParameters

Wiederholungsparameter, die zum Berechnen der Verzögerung zwischen den einzelnen Wiederholungsversuchen in gedrosselten Situationen verwendet werden.

Methoden

nextRetryTimeout(number, boolean)

Berechnet das Intervall, in dem gewartet werden soll, bevor bei jedem neuen Wiederholungsversuch mit Vorbehalt erneut versucht wird.

shouldRetry(Error)

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.