Un timeout atribuit după o încercare de conectare nu poate scurta încercarea care a avut deja loc. Construiți mai întâi instanța Net::HTTP, setați-i timeout-urile și abia apoi porniți-o.

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

Alegeți mai întâi punctul final HTTP dorit; lista de proxy-uri HTTP oferă candidați pentru cererile publice permise. Numerele sunt limite exemplificative, nu o recomandare pentru fiecare sarcină de lucru. Stabilirea conexiunii și citirile ulterioare au așteptări diferite. Un timeout de citire nu este un termen global pentru o sarcină care efectuează mai multe cereri sau continuă să reîncerce.

Folosiți documentația timeout-urilor pentru versiunea Ruby pe care o implementați, inclusiv setările de scriere și cele specifice TLS, unde este cazul. Un exemplu vechi care folosește Net::HTTP::Proxy poate construi mai întâi o clasă configurată pentru proxy; valorile care contează aparțin în continuare instanței care face treaba.

Articole similare