Share via


ExponentialBackOffWithJitter class

Implémente une stratégie de retour exponentiel avec nouvelle tentative Jitter. La fonction permettant de calculer l’intervalle suivant est la suivante (x est la nouvelle tentative) : F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

Constructeurs

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Initialise une nouvelle instance de la classe ExponentialBackOffWithJitter.

Propriétés

immediateFirstRetry

Boolean indiquant si la première nouvelle tentative doit être immédiate (si définie sur true) ou après le délai normalParameters.c (si la valeur est false).

normalParameters

Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans des situations normales (c’est-à-dire, non limité).

throttledParameters

Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans des situations limitées.

Méthodes

nextRetryTimeout(number, boolean)

Calcule l’intervalle d’attente avant de réessayer à chaque nouvelle tentative de nouvelle tentative.

shouldRetry(Error)

En fonction de l’erreur transmise en tant qu’argument, détermine si une erreur est temporaire et si l’opération doit être retentée ou non.

Détails du constructeur

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Initialise une nouvelle instance de la classe ExponentialBackOffWithJitter.

new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)

Paramètres

immediateFirstRetry

boolean

booléen indiquant si la première nouvelle tentative doit être immédiate (valeur par défaut) ou attendre le premier intervalle (valeur c).

errorFilter

ErrorFilter

Détails de la propriété

immediateFirstRetry

Boolean indiquant si la première nouvelle tentative doit être immédiate (si définie sur true) ou après le délai normalParameters.c (si la valeur est false).

immediateFirstRetry: boolean

Valeur de propriété

boolean

normalParameters

Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans des situations normales (c’est-à-dire, non limité).

normalParameters: ExponentialBackoffWithJitterParameters

Valeur de propriété

ExponentialBackoffWithJitterParameters

throttledParameters

Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans des situations limitées.

throttledParameters: ExponentialBackoffWithJitterParameters

Valeur de propriété

ExponentialBackoffWithJitterParameters

Détails de la méthode

nextRetryTimeout(number, boolean)

Calcule l’intervalle d’attente avant de réessayer à chaque nouvelle tentative de nouvelle tentative.

function nextRetryTimeout(retryCount: number, isThrottled: boolean): number

Paramètres

retryCount

number

Tentative de nouvelle tentative actuelle.

isThrottled

boolean

Boolean indiquant si le hub Azure IoT est en cours de limitation des opérations.

Retours

number

Délai d’attente avant de tenter une nouvelle tentative en millisecondes.

shouldRetry(Error)

En fonction de l’erreur transmise en tant qu’argument, détermine si une erreur est temporaire et si l’opération doit être retentée ou non.

function shouldRetry(error: Error): boolean

Paramètres

error

Error

Erreur rencontrée par l’opération.

Retours

boolean

Indique si l’opération doit être retentée ou non.