Faraday: Адаптер Net :: HTTP автоматически повторяет запросы

Созданный на 21 февр. 2018  ·  3Комментарии  ·  Источник: lostisland/faraday

Основная информация

  • Версия Фарадея: любая
  • Версия Ruby: 2.5+

Описание проблемы

При использовании Net::HTTP качестве адаптера пользователи удивляются стратегии повторных попыток, предоставляемой Net::HTTP . Это приводит к различным «проблемам» (например, №612 и №771).
Мы мало что можем сделать для Ruby <= 2.4, однако Ruby 2.5 предоставляет новую конфигурацию max_retries для Net::HTTP поэтому Фарадей должен устанавливать ее автоматически, когда она доступна.

Действия по воспроизведению

См. Проблемы №612 и №771.

feature help wanted

Все 3 Комментарий

Я смотрел на эту проблему. Один из подходов, упомянутых в # 771, - установить значение по умолчанию на 0, но изменить его в зависимости от настроенного количества повторных попыток. Нам нужно будет сделать так, чтобы промежуточное ПО Retry знало о базовом адаптере (так как некоторые адаптеры могут не поддерживать это) и условно применить эту логику в env . Адаптер также должен знать о количестве повторных попыток.

В качестве альтернативы указанному подходу мы можем настроить его так, чтобы он не выполнял повторных попыток, вместо этого сохраняя логику повторных попыток ограниченным промежуточным программным обеспечением Retry. Каким бы ни был результат, я был бы более чем счастлив забрать это @iMacTia .

Я определенно думал о втором варианте.
У нас уже есть промежуточное программное обеспечение Retry, которое может позаботиться о повторных попытках неудачных запросов.
Адаптеры (в данном случае Net :: HTTP) никогда не должны повторять запросы самостоятельно.

Все, что нам нужно сделать в этом случае, это указать адаптеру Net :: HTTP установить max_retries равным 0, если это свойство доступно, конечно

@iMacTia - Я не могу не согласиться. В таком случае я возьму это.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги