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

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Inicializa una nueva instancia de la clase ExponentialBackOffWithJitter.

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).

normalParameters

Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones normales (es decir, no limitado).

throttledParameters

Parámetros de reintento usados para calcular el retraso entre cada reintento en situaciones limitadas.

Métodos

nextRetryTimeout(number, boolean)

Calcula el intervalo para esperar antes de volver a intentarlo en cada nuevo reintento provisional.

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.

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.