Kann ich die Größe des Verbindungspools für Pythons "Anfragen" -Modul ändern?
(edit: Vielleicht bin ich falsch an dem, was dieser Fehler bedeutet. Ist dies anzeigt, dass die Verbindungs-pool an meinem CLIENT voll ist? oder ein connection-pool in der SERVER voll ist, und dies ist der Fehler, mein client ist gegeben?)
Ich bin versucht, eine große Anzahl von http
Anforderungen gleichzeitig mit Hilfe der python - threading
und requests
Modul. Ich sehe diesen Fehler in den logs:
WARNING:requests.packages.urllib3.connectionpool:HttpConnectionPool is full, discarding connection:
Was kann ich tun, um erhöhen Sie die Größe des verbindungspools für Anforderungen?
InformationsquelleAutor der Frage Skip Huffman | 2013-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies sollte den trick tun:
InformationsquelleAutor der Antwort Jahaja
Hinweis: Verwenden Sie diese Lösung nur, wenn Sie keine Kontrolle über den Aufbau der connection pool (wie beschrieben in @Jahaja Antwort).
Das problem ist, dass die
urllib3
schafft die pools auf Nachfrage. Er ruft den Konstruktor derurllib3.connectionpool.HTTPConnectionPool
Klasse ohne Parameter. Die Klassen sind eingetragen inurllib3 .poolmanager.pool_classes_by_scheme
. Der trick ist, ersetzen Sie die Klassen mit Ihren Klassen, die verschiedene Standard-Parameter:Dann können Sie anrufen, um neue default-Parameter. Stellen Sie sicher, dies wird aufgerufen, bevor irgendeine Verbindung hergestellt wird.
Wenn Sie https-verbindungen können Sie erstellen, die eine ähnliche Funktion:
InformationsquelleAutor der Antwort Michael_Scharf