Тайм-аут, назначенный после попытки соединения, не может сократить уже произошедшую попытку. Сначала создайте экземпляр Net::HTTP, задайте его тайм-ауты и только затем запустите его.

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

Сначала выберите нужную конечную точку HTTP; список HTTP-прокси предлагает кандидатов для разрешённых публичных запросов. Числа — это примерные ограничения, а не рекомендация для любой нагрузки. Установка соединения и последующее чтение имеют разное время ожидания. Тайм-аут чтения не является общим сроком для задачи, которая выполняет несколько запросов или продолжает повторять попытки.

Используйте документацию по тайм-аутам для развёртываемой версии Ruby, включая настройки записи и параметры, специфичные для TLS, где это применимо. Старый пример с Net::HTTP::Proxy может сначала создать класс, настроенный для прокси; важные значения по-прежнему принадлежат экземпляру, который выполняет работу.

Похожие статьи