1
有没有办法逐步打开多个新的持久连接到主机?我知道您可以使用下面的代码更改持久连接的数量,但您如何建立连接?多线程请求Python
s = requests.Session()
adapter = requests.adapters.HTTPAdapter(pool_connections=5, pool_maxsize=28)
s.mount('https//', adapter)
我试图让数据从一个API具有以下速率限制:
- 新连接2/s的
- 请求30帧/秒
我多线程使用多处理器线程池线程,而不是多处理与多处理器线程到期对某些Windows约束。
这是函数:
def My_Func(PARAMS):
...
req = requests.Request('GET', url, headers = headers, params = params)
pre = req.prepare()
resp = s.send(pre, stream = True, verify = False)
这是代码:
s = requests.Session()
pool = ThreadPool(10)
Data = pool.map(My_Func, PARAMS)
pool.close()
pool.join()
s.close()
然而,每所产生的线程建立一个新的连接(我认为这是因为其他连接还没有被释放回池中)。这意味着对于ThreadPool(10),我会得到一些响应429(超出连接限制)。