我正在创建一个可以同时运行RESTful API的工具。我正在使用python“请求”模块和“线程”模块。一旦我在系统上堆叠了太多的同时获取,我就会遇到这样的异常:
ConnectionError:HTTPConnectionPool(host ='xxx.net',port = 80):使用url超出最大重试次数:/ thing / subthing /(由以下引起:[Errno 10055]无法执行对套接字的操作,因为系统缺少足够的缓冲区空间或因为队列已满;
如何增加缓冲区和队列空间,或者要求Requests模块等待可用的插槽?
(我知道我可以在“尝试”循环中填充它,但这看起来很笨拙)
答案 0 :(得分:3)
使用session。如果您使用requests.request
系列方法(get,post,...),每个请求将使用它自己的会话与它自己的连接池,因此不会使用任何连接池。
如果您需要微调会话中使用的连接数,可以通过更改HTTPAdapter