ExponentialBackOffWithJitter class

Реализует экспоненциальную стратегию задержки с Jitter retry. Функция для вычисления следующего интервала является следующей (x — повторная попытка x): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

Конструкторы

ExponentialBackOffWithJitter(boolean, ErrorFilter)

Инициализирует новый экземпляр класса ExponentialBackOffWithJitter.

Свойства

immediateFirstRetry

Логическое значение, указывающее, должна ли первая повторная попытка выполняться немедленно (если задано значение true) или после задержки normalParameters.c (если задано значение false).

normalParameters

Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в обычных ситуациях (т. е. без регулирования).

throttledParameters

Параметры повтора, используемые для вычисления задержки между каждой повторными попытками в регулируемых ситуациях.

Методы

nextRetryTimeout(number, boolean)

Вычисляет интервал ожидания перед повторными попытками при каждой новой предварительной попытке.

shouldRetry(Error)

На основе ошибки, переданной в качестве аргумента, определяет, является ли ошибка временной и следует ли повторять операцию.

Сведения о конструкторе

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

Следует ли повторять операцию.