ExponentialBackOffWithJitter class
Реализует экспоненциальную стратегию задержки с Jitter retry. Функция для вычисления следующего интервала является следующей (x — повторная попытка x): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
Конструкторы
Exponential |
Инициализирует новый экземпляр класса ExponentialBackOffWithJitter. |
Свойства
immediate |
Логическое значение, указывающее, должна ли первая повторная попытка выполняться немедленно (если задано значение true) или после задержки normalParameters.c (если задано значение false). |
normal |
Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в обычных ситуациях (т. е. без регулирования). |
throttled |
Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в регулируемых ситуациях. |
Методы
next |
Вычисляет интервал ожидания перед повторными попытками при каждой новой предварительной попытке. |
should |
На основе ошибки, переданной в качестве аргумента, определяет, является ли ошибка временной и следует ли повторять операцию. |
Сведения о конструкторе
ExponentialBackOffWithJitter(boolean, ErrorFilter)
Инициализирует новый экземпляр класса ExponentialBackOffWithJitter.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
Параметры
- immediateFirstRetry
-
boolean
логическое значение, указывающее, должна ли первая повторная попытка быть немедленной (по умолчанию) или ожидать первого интервала (значение c).
- errorFilter
-
ErrorFilter
Сведения о свойстве
immediateFirstRetry
Логическое значение, указывающее, должна ли первая повторная попытка выполняться немедленно (если задано значение true) или после задержки normalParameters.c (если задано значение false).
immediateFirstRetry: boolean
Значение свойства
boolean
normalParameters
Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в обычных ситуациях (т. е. без регулирования).
normalParameters: ExponentialBackoffWithJitterParameters
Значение свойства
ExponentialBackoffWithJitterParameters
throttledParameters
Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в регулируемых ситуациях.
throttledParameters: ExponentialBackoffWithJitterParameters
Значение свойства
ExponentialBackoffWithJitterParameters
Сведения о методе
nextRetryTimeout(number, boolean)
Вычисляет интервал ожидания перед повторными попытками при каждой новой предварительной попытке.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
Параметры
- retryCount
-
number
Текущая повторная попытка.
- isThrottled
-
boolean
Логическое значение, указывающее, выполняет ли Центр Интернета вещей Azure операции регулирования.
Возвращаемое значение
number
Время ожидания перед попыткой повторить попытку в миллисекундах.
shouldRetry(Error)
На основе ошибки, переданной в качестве аргумента, определяет, является ли ошибка временной и следует ли повторять операцию.
function shouldRetry(error: Error): boolean
Параметры
- error
-
Error
Ошибка, обнаруженная операцией.
Возвращаемое значение
boolean
Следует ли повторять операцию.