C # ExponentialBackOff для Timespan Polly - PullRequest
0 голосов
/ 01 ноября 2018

Я заменяю текущие политики повторных попыток структурой Polly. Раньше я определял свою стратегию повторения следующим образом:

var strategy = new ExponentialBackoff(RetryStrategy.DefaultClientRetryCount, RetryStrategy.DefaultMinBackoff, RetryStrategy.DefaultMaxBackoff, RetryStrategy.DefaultClientBackoff);

где DefaultClientRetryCount - количество повторных попыток и затем exponentialBackoff вычисляет время ожидания между повторными попытками на основе переменных: DefaultMinBackoff - минимальный промежуток времени между повторными попытками; DefaultMaxBackoff - максимальный промежуток времени; DefaultClientBackoff - это значение по умолчанию, используемое для вычисления случайной дельты между повторными попытками.

В Polly я определяю свой retryPolicy следующим образом:

var retryPolicy = Policy.Handle<Exception>(ex => _transientErrorDetectionStrategy.IsTransient(ex)).WaitAndRetryAsync(int retryCount, Func<int,timespan> sleepDuration);

Где retryCount - это количество повторных попыток, а sleepDuration - это время между повторными попытками.

Как мне реплицировать промежуток времени между повторными попытками, созданными в предыдущей политике, для отправки в качестве параметра методу WaitAndRetryAsync в Polly?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...