Faraday: Net :: HTTP adapter reintenta las solicitudes automáticamente

Creado en 21 feb. 2018  ·  3Comentarios  ·  Fuente: lostisland/faraday

Información básica

  • Versión de Faraday: cualquiera
  • Versión Ruby: 2.5+

Descripcion del problema

Cuando se usa Net::HTTP como adaptador, los usuarios se sorprenden con la estrategia de reintento proporcionada por Net::HTTP . Esto trae a diferentes "problemas" (por ejemplo, # 612 y # 771).
No hay mucho que podamos hacer para Ruby <= 2.4, sin embargo, Ruby 2.5 proporciona una nueva configuración max_retries para Net::HTTP por lo que Faraday debería configurarla automáticamente cuando esté disponible.

pasos para reproducir

Consulte los números 612 y 771.

feature help wanted

Todos 3 comentarios

He estado analizando este problema. Un enfoque mencionado en el n. ° 771 es establecer el valor predeterminado en 0, pero cambiarlo según la cantidad de reintentos configurados. Tendríamos que hacer que el middleware Retry conozca el adaptador subyacente (ya que algunos adaptadores podrían no admitir esto) y aplicar condicionalmente esta lógica en env . El adaptador también debería conocer la cantidad de reintentos.

Como alternativa a dicho enfoque, podemos configurarlo para que no realice reintentos, manteniendo la lógica de reintento confinada al middleware Retry. Cualquiera que sea el resultado, estaré más que feliz de recoger esto @iMacTia .

Definitivamente estaba pensando en la segunda opción.
Ya tenemos el middleware Retry que puede encargarse de reintentar solicitudes fallidas.
Los adaptadores (en este caso Net :: HTTP) nunca deben reintentar las solicitudes por su cuenta.

Todo lo que tenemos que hacer en este caso es decirle al adaptador Net :: HTTP que establezca max_retries en 0, si esta propiedad está disponible, por supuesto

@iMacTia - No podría estar más de acuerdo. En ese caso, recogeré esto.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

JasonBarnabe picture JasonBarnabe  ·  4Comentarios

jordansissel picture jordansissel  ·  5Comentarios

t3hk0d3 picture t3hk0d3  ·  3Comentarios

amrrbakry picture amrrbakry  ·  4Comentarios

QuinnWilton picture QuinnWilton  ·  4Comentarios