Με την προεπιλογή pool_block=False, το pool_maxsize περιορίζει τις συνδέσεις που διατηρούνται σε ένα pool, όχι κάθε ταυτόχρονη σύνδεση. Το Requests μπορεί να δημιουργεί επιπλέον και να τις απορρίπτει μετά.

Για ένα φραγμένο pool που χρησιμοποιούν τα αιτήματα HTTPS μιας υπάρχουσας συνεδρίας:

from requests.adapters import HTTPAdapter

adapter = HTTPAdapter(
    pool_connections=10,
    pool_maxsize=4,
    pool_block=True,
)
session.mount("https://", adapter)

Η προσάρτηση επιλέγει τα URL προορισμού HTTPS. Τα αιτήματα HTTP χρησιμοποιούν τον προσαρμογέα που έχει προσαρτηθεί στο http://.

ΕίσοδοςΤι ελέγχει
pool_connectionsΠόσα pool αποθηκεύει στην κρυφή μνήμη ο διαχειριστής
pool_maxsizeΣυνδέσεις μέσα σε ένα pool
pool_block=TrueΑναμονή για σύνδεση από το pool αντί δημιουργίας επιπλέον

Το Requests αποθηκεύει επίσης διαχειριστές διαμεσολαβητών ανά URL διαμεσολαβητή. Αυτές οι τιμές δεν αποτελούν ένα συνολικό όριο για μια περιστρεφόμενη λίστα διαμεσολαβητών και προορισμών. Χρησιμοποιήστε προϋπολογισμό ταυτοχρονίας σε επίπεδο εφαρμογής αν η απαίτηση είναι όλη η εργασία να περνά από έναν ενδιάμεσο.

Ο αποκλεισμός καθιστά απαραίτητη την απελευθέρωση των απαντήσεων: καταναλώστε τα σώματα ή κλείστε τις απαντήσεις ροής ώστε να μπορεί να προχωρήσει η εργασία που περιμένει. Ο προσαρμογέας του Requests δεν παρέχει ξεχωριστό χρονικό όριο για αυτή την αναμονή του pool στη διάταξη που φαίνεται.

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