Python 请求,警告:urllib3.connectionpool:连接池已满

2024-02-06

我正在 python 3 中使用 requests 库,尽管我尽了最大努力,但以下警告仍然无法消失:

警告:requests.packages.urllib3.connectionpool:连接池已满,正在丢弃连接:myorganization.zendesk.com

我在多线程环境中使用请求来同时获取 json 文件并将其发布到单主机,绝对没有子域。在当前设置中,我仅使用 20 个线程。

我尝试使用Session为了获得重用连接的请求,从而摆脱问题,但它没有奏效。这是我的类构造函数中的代码:

self.session = requests.Session()
adapter = requests.adapters.HTTPAdapter(
    pool_connections=100, pool_maxsize=100)
self.session.mount('http://', adapter)
self.session.headers.update({'Connection':'Keep-Alive'})
self.session.auth = (self._user+"/token", self._token)

根据来自的建议 here https://bugs.launchpad.net/python-swiftclient/+bug/1295812考虑到我正在使用的线程数,我不需要将池连接增加那么多,但尽管如此,即使增加 100,我也会收到此警告。

这让我认为连接根本没有被重用,或者如果有的话,由于某种原因创建了太多连接。我已经更新了请求,因此它是最新版本。

有谁有任何想法我可以如何摆脱这个?我正在调试一些代码,我认为这是某些请求未正确发出的原因。

Related:

我可以更改Python“请求”模块的连接池大小吗? https://stackoverflow.com/questions/18466079/can-i-change-the-connection-pool-size-for-pythons-requests-module


由于 zendesk 通过 https 进行通信,因此您只需将适配器安装到 https 协议即可,即

self.session.mount('https://', adapter)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 请求,警告:urllib3.connectionpool:连接池已满 的相关文章

随机推荐