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
Exponential |
Initialise une nouvelle instance de la classe ExponentialBackOffWithJitter. |
Propriétés
immediate |
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). |
normal |
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é). |
throttled |
Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans des situations limitées. |
Méthodes
next |
Calcule l’intervalle d’attente avant de réessayer à chaque nouvelle tentative de nouvelle tentative. |
should |
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.