Faraday: Net::HTTP-Adapter wiederholt Anfragen automatisch

Erstellt am 21. Feb. 2018  ·  3Kommentare  ·  Quelle: lostisland/faraday

Basisinformation

  • Faraday-Version: beliebig
  • Rubin-Version: 2.5+

Fehlerbeschreibung

Wenn Net::HTTP als Adapter verwendet wird, werden Benutzer von der Wiederholungsstrategie von Net::HTTP überrascht. Dies führt zu verschiedenen "Problemen" (zB #612 und #771).
Es gibt nicht viel, was wir für Ruby <= 2.4 tun können, aber Ruby 2.5 bietet eine neue max_retries Konfiguration für Net::HTTP so dass Faraday dies automatisch einstellen sollte, wenn es verfügbar ist.

Schritte zum Reproduzieren

Siehe Ausgaben #612 und #771.

feature help wanted

Alle 3 Kommentare

Ich habe mir dieses Problem angesehen. Ein in #771 erwähnter Ansatz besteht darin, den Standardwert auf 0 zu setzen, ihn jedoch abhängig von der Anzahl der konfigurierten Wiederholungen zu ändern. Wir müssten die Retry-Middleware auf den zugrunde liegenden Adapter aufmerksam machen (da einige Adapter dies möglicherweise nicht unterstützen) und diese Logik bedingt in env anwenden. Der Adapter müsste auch die Anzahl der Wiederholungen kennen.

Als Alternative zu diesem Ansatz können wir festlegen, dass keine Wiederholungen durchgeführt werden, sondern die Wiederholungslogik auf die Wiederholungs-Middleware beschränkt bleibt. Was auch immer das Ergebnis ist, ich würde mich sehr freuen, dies @iMacTia abzuholen .

Ich habe definitiv an die zweite Möglichkeit gedacht.
Wir haben bereits die Retry-Middleware, die sich um die Wiederholung fehlgeschlagener Anforderungen kümmern kann.
Adapter (in diesem Fall Net::HTTP) sollten Anfragen niemals alleine wiederholen.

Alles, was wir in diesem Fall tun müssen, ist, den Net::HTTP-Adapter anzuweisen, max_retries auf 0 zu setzen, wenn diese Eigenschaft natürlich verfügbar ist

@iMacTia - Ich könnte nicht mehr zustimmen. In diesem Fall werde ich das aufheben.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen