Ένα timeout που ορίζεται μετά από μια προσπάθεια σύνδεσης δεν μπορεί να συντομεύσει την προσπάθεια που έγινε ήδη. Δημιουργήστε πρώτα το στιγμιότυπο Net::HTTP, ορίστε τα timeouts του και μετά ξεκινήστε το.

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 προσφέρει υποψηφίους για επιτρεπόμενα δημόσια αιτήματα. Οι αριθμοί είναι ενδεικτικά όρια, όχι σύσταση για κάθε φόρτο εργασίας. Η δημιουργία σύνδεσης και οι επόμενες αναγνώσεις έχουν διαφορετικές αναμονές. Ένα timeout ανάγνωσης δεν είναι συνολική προθεσμία για μια εργασία που εκτελεί πολλά αιτήματα ή συνεχίζει να επιχειρεί ξανά.

Χρησιμοποιήστε την τεκμηρίωση timeouts για την έκδοση Ruby που αναπτύσσετε, συμπεριλαμβανομένων ρυθμίσεων εγγραφής και ρυθμίσεων ειδικών για TLS όπου ισχύει. Ένα παλιό παράδειγμα με Net::HTTP::Proxy μπορεί να δημιουργήσει πρώτα μια κλάση ρυθμισμένη για proxy· οι τιμές που μετρούν εξακολουθούν να ανήκουν στο στιγμιότυπο που εκτελεί την εργασία.

Σχετικά άρθρα