Я заметил, что по истечении времени ожидания http Ruby (2.6.1) делает второй запрос Это вызывает проблемы с одной из наших конечных точек, потому что запускается второй рабочий, который потребляет ресурсы.
Вы можете увидеть пример здесь: Перейдите на https://beeceptor.com/console/timeout и выполните следующий код
require "net/http"
http = Net::HTTP.new("timeout.free.beeceptor.com", 443)
http.read_timeout = 1
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
http.request(Net::HTTP::Get.new("/Time"))
Вы можете видеть, что есть 2 запроса к /Time
, поэтому мне было интересно:
- Какова цель этого поведения по умолчанию? Когда я делаю тот же запрос с помощью команды curl, я не получаю второй запрос
curl --max-time 1 https://timeout.free.beeceptor.com
- Как я могу повлиять на это поведение?
- Или я что-то не так делаю?