ExponentialBackOffWithJitter class
Implémente un backoff exponentiel avec une stratégie de nouvelle tentative de gigue. La fonction à calculer l’intervalle suivant est la suivante (x est la nouvelle tentative x) : 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 la valeur est 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 (par exemple, non limité). |
throttled |
Paramètres de nouvelle tentative utilisés pour calculer le délai entre chaque nouvelle tentative dans les situations limitées. |
Méthodes
next |
Calcule l’intervalle à attendre avant de réessayer à chaque nouvelle tentative de nouvelle tentative. |
should |
En fonction de l’erreur passée 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 la valeur est 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 (par exemple, 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 les situations limitées.
throttledParameters: ExponentialBackoffWithJitterParameters
Valeur de propriété
ExponentialBackoffWithJitterParameters
Détails de la méthode
nextRetryTimeout(number, boolean)
Calcule l’intervalle à attendre 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 limite les opérations.
Retours
number
Délai d’attente avant d’essayer une nouvelle tentative en millisecondes.
shouldRetry(Error)
En fonction de l’erreur passée 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.