ExponentialBackOffWithJitter class
Implementa uma retirada exponencial com estratégia de repetição de tremulação. A função para calcular o próximo intervalo é a seguinte (x é a xth retry): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
Construtores
Exponential |
Inicializa uma nova instância da classe ExponentialBackOffWithJitter. |
Propriedades
immediate |
Booliano indicando se a primeira repetição deve ser imediata (se definida como true) ou após o atraso normalParameters.c (se definido como false). |
normal |
Parâmetros de repetição usados para calcular o atraso entre cada repetição em situações normais (ou seja, não limitadas). |
throttled |
Parâmetros de repetição usados para calcular o atraso entre cada repetição em situações limitadas. |
Métodos
next |
Calcula o intervalo a aguardar antes de tentar novamente em cada nova tentativa provisória. |
should |
Com base no erro passado como argumento, determina se um erro é transitório e se a operação deve ser repetida ou não. |
Detalhes do construtor
ExponentialBackOffWithJitter(boolean, ErrorFilter)
Inicializa uma nova instância da classe ExponentialBackOffWithJitter.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
Parâmetros
- immediateFirstRetry
-
boolean
booliano indicando se a primeira repetição deve ser imediata (padrão) ou aguardar o primeiro intervalo (valor c).
- errorFilter
-
ErrorFilter
Detalhes da propriedade
immediateFirstRetry
Booliano indicando se a primeira repetição deve ser imediata (se definida como true) ou após o atraso normalParameters.c (se definido como false).
immediateFirstRetry: boolean
Valor da propriedade
boolean
normalParameters
Parâmetros de repetição usados para calcular o atraso entre cada repetição em situações normais (ou seja, não limitadas).
normalParameters: ExponentialBackoffWithJitterParameters
Valor da propriedade
ExponentialBackoffWithJitterParameters
throttledParameters
Parâmetros de repetição usados para calcular o atraso entre cada repetição em situações limitadas.
throttledParameters: ExponentialBackoffWithJitterParameters
Valor da propriedade
ExponentialBackoffWithJitterParameters
Detalhes do método
nextRetryTimeout(number, boolean)
Calcula o intervalo a aguardar antes de tentar novamente em cada nova tentativa provisória.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
Parâmetros
- retryCount
-
number
Tentativa de repetição atual provisória.
- isThrottled
-
boolean
Booliano que indica se o hub IoT do Azure está limitando as operações.
Retornos
number
O tempo de espera antes de tentar uma nova tentativa em milissegundos.
shouldRetry(Error)
Com base no erro passado como argumento, determina se um erro é transitório e se a operação deve ser repetida ou não.
function shouldRetry(error: Error): boolean
Parâmetros
- error
-
Error
O erro encontrado pela operação.
Retornos
boolean
Se a operação deve ser repetida ou não.