Puis-je modifier la connexion, la taille du pool pour Python “demandes” du module?
(edit: peut-être que je me trompe dans ce que cette erreur signifie. Est-ce indiquant que le pool de connexion à mon CLIENT est-il plein? ou un pool de connexion au SERVEUR est plein et c'est l'erreur de mon client est-il donné?)
Je cherche à faire un grand nombre de http
des demandes simultanément à l'aide de l'python threading
et requests
module. Je vois cette erreur dans les logs:
WARNING:requests.packages.urllib3.connectionpool:HttpConnectionPool is full, discarding connection:
Ce que je peux faire pour augmenter la taille du pool de connexion pour les demandes?
Vous devez vous connecter pour publier un commentaire.
Cela devrait faire l'affaire:
http
avechttps
. Aussi, je pensepool_connections
est inutile.Remarque: Utiliser cette solution que si vous ne pouvez pas contrôler la construction du pool de connexion (comme décrit dans @Jahaja de réponse).
Le problème est que le
urllib3
crée la piscine sur demande. Il appelle le constructeur de laurllib3.connectionpool.HTTPConnectionPool
classe sans paramètres. Les classes sont enregistrés dansurllib3 .poolmanager.pool_classes_by_scheme
. L'astuce consiste à remplacer les classes avec vos classes différentes pour les paramètres par défaut:Alors vous pouvez appeler pour définir de nouveaux paramètres par défaut. Assurez-vous que ce est appelée avant toute connexion est établie.
Si vous utilisez les connexions https, vous pouvez créer une fonction similaire:
HttpConnectionPool is full, discarding connection python
. Mais la solution ne m'aide pas, parce que mon pool de connexion est créée par une bibliothèque (dans mon cas pyes).