urllib3连接池绑定在哪里?

3
如果在不同的方法中实例化一个新的请求会话,则可以像这样进行 ... myutil.py
import requests

def method1():
    s1 = requests.Session()

def method2():
    s1 = requests.Session()
< p > requests.packages.urllib3.poolmanager.PoolManager 绑定在哪里?它是全局绑定的,因此连接池在 s1 和 s2 之间共享,还是绑定在每个方法的堆栈中,因此 s1 和 s2 有不同的连接池? < p > 如果它绑定到每个方法的堆栈上,则我有什么选择可以共享连接池?例如,我应该创建一个传输适配器 然后在方法之间共享: < p>myutil.py

import requests
from requests.adapters import HTTPAdapter

httpAdapter = HTTPAdapter(pool_connections=10, pool_maxsize=100)

def method1():
    s1 = requests.Session()
    s1.mount('https://', httpAdapter)

def method2():
    s1 = requests.Session()
    s2.mount('https://', httpAdapter)
1个回答

0

我已经做了一些测试,似乎池并没有被全局绑定。

请参见此处获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接