Ein timeout som vert sett etter eit tilkoplingsforsøk, kan ikkje forkorte forsøket som allereie har skjedd. Bygg Net::HTTP-instansen først, set timeoutane og start han deretter.

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

Vel først det tiltenkte HTTP-endepunktet; HTTP-proxylista tilbyr kandidatar for tillatne offentlege førespurnader. Tala er dømegrenser, ikkje ei tilråding for kvar arbeidslast. Oppretting av forbindinga og seinare lesingar har ulike ventetider. Ein lesetimeout er ikkje ein samla frist for ein jobb som utfører fleire førespurnader eller held fram med å prøve på nytt.

Bruk timeoutdokumentasjonen for Ruby-versjonen du distribuerer, inkludert skrive- og TLS-spesifikke innstillingar der det er relevant. Eit gammalt døme med Net::HTTP::Proxy kan først byggje ein proxykonfigurert klasse; verdiane som tel, høyrer framleis til instansen som gjer jobben.

Relaterte artiklar