Как рассчитывается время следующей повторной попытки для долговременных функций при наличии параметра backoffCoefficient? - PullRequest
0 голосов
/ 18 апреля 2019

Если моя функция активности не работает, я хочу, чтобы она автоматически повторялась. Я хочу сначала повторить попытку через несколько секунд, а затем несколько раз. Последняя попытка должна быть примерно через 4 дня. Первоначальные повторные попытки должны проводиться с интервалом в несколько секунд, а затем частота должна уменьшаться, чтобы в конце она пыталась каждые 4 часа или около того. Как параметры RetryOptions должны быть установлены для достижения этой цели? То есть Какова формула для расчета последовательности повторных попыток с учетом следующих параметров:

firstRetryIntervalInMilliseconds = 3000
maxNumberOfAttempts  = 100
backoffCoefficient  = 2

1 Ответ

1 голос
/ 19 апреля 2019

CallActivityWithRetry использует механизм экспоненциального отката для вычисления интервалов повторных попыток.( исходный код ) Задержка n-й попытки вычисляется по следующей формуле:

firstRetryIntervalInMilliseconds * backoffCoefficient ^ n

Класс RetryOptions имеет много настраиваемых свойств, включаяMaxRetryInterval и RetryTimeout, это должно помочь достичь желаемого поведения при повторных попытках.

...