ExponentialBackOffWithJitter class
Implementa un retroceso exponencial con la estrategia de reintento jitter. La función para calcular el siguiente intervalo es la siguiente (x es el ésimo reintento): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
Constructores
Exponential |
Inicializa una nueva instancia de la clase ExponentialBackOffWithJitter. |
Propiedades
immediate |
Boolean que indica si el primer reintento debe ser inmediato (si se establece en true) o después del retraso normalParameters.c (si se establece en false). |
normal |
Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones normales (es decir, no limitado). |
throttled |
Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones limitadas. |
Métodos
next |
Calcula el intervalo para esperar antes de volver a intentarlo en cada nuevo reintento provisional. |
should |
En función del error pasado como argumento, determina si un error es transitorio y si se debe reintentar o no la operación. |
Detalles del constructor
ExponentialBackOffWithJitter(boolean, ErrorFilter)
Inicializa una nueva instancia de la clase ExponentialBackOffWithJitter.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
Parámetros
- immediateFirstRetry
-
boolean
booleano que indica si el primer reintento debe ser inmediato (valor predeterminado) o esperar el primer intervalo (valor c).
- errorFilter
-
ErrorFilter
Detalles de las propiedades
immediateFirstRetry
Boolean que indica si el primer reintento debe ser inmediato (si se establece en true) o después del retraso normalParameters.c (si se establece en false).
immediateFirstRetry: boolean
Valor de propiedad
boolean
normalParameters
Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones normales (es decir, no limitado).
normalParameters: ExponentialBackoffWithJitterParameters
Valor de propiedad
ExponentialBackoffWithJitterParameters
throttledParameters
Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones limitadas.
throttledParameters: ExponentialBackoffWithJitterParameters
Valor de propiedad
ExponentialBackoffWithJitterParameters
Detalles del método
nextRetryTimeout(number, boolean)
Calcula el intervalo para esperar antes de volver a intentarlo en cada nuevo reintento provisional.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
Parámetros
- retryCount
-
number
Reintento actual provisional.
- isThrottled
-
boolean
Boolean que indica si azure IoT Hub es una limitación de las operaciones.
Devoluciones
number
Tiempo de espera antes de intentar un reintento en milisegundos.
shouldRetry(Error)
En función del error pasado como argumento, determina si un error es transitorio y si se debe reintentar o no la operación.
function shouldRetry(error: Error): boolean
Parámetros
- error
-
Error
Error detectado por la operación.
Devoluciones
boolean
Si se debe reintentar o no la operación.