Un tiempo de espera asignado después de un intento de conexión no puede acortar el intento que ya ocurrió. Crea primero la instancia de Net::HTTP, establece sus tiempos de espera y luego iníciala.

http = Net::HTTP.new('example.com', 443,
                     '203.0.113.10', 8080)
http.use_ssl = true
http.open_timeout = 5
http.read_timeout = 10
http.start do |session|
  response = session.get('/')
end

Elige primero el punto de conexión HTTP previsto; la lista de proxies HTTP ofrece candidatos para solicitudes públicas permitidas. Los números son límites de ejemplo, no una recomendación para cada carga de trabajo. El establecimiento de la conexión y las lecturas posteriores tienen esperas distintas. Un tiempo de espera de lectura no es un plazo global para un trabajo que realiza varias solicitudes o que sigue reintentando.

Usa la documentación de tiempos de espera de la versión de Ruby que despliegas, incluidos los ajustes de escritura y los específicos de TLS cuando corresponda. Un ejemplo antiguo que usa Net::HTTP::Proxy puede crear primero una clase configurada para proxy; los valores que importan siguen perteneciendo a la instancia que hace el trabajo.

Artículos relacionados