默认情况下
aiohttp,同时连接数限制为
100。它实现了默认设置
limit到
TCPConnector
对象所使用
ClientSession。您可以通过创建自定义连接器并将其传递到会话来绕过它:
connector = aiohttp.TCPConnector(limit=None)async with aiohttp.ClientSession(connector=connector) as session: # ...
但是请注意,您可能不想将此数字设置得太高:您的网络容量,CPU,RAM和目标服务器有其自身的限制,并尝试进行大量连接会导致故障增加。
最佳数量可能只能通过在混凝土机器上进行实验才能找到。
无关:
您不必无缘无故地创建任务。大多数异步api接受常规协程。例如,您的最后几行代码可以通过以下方式更改:
loop = asyncio.get_event_loop()loop.run_until_complete(run(url_list))
甚至是
asyncio.run(run(url_list))(doc)如果您使用的是Python 3.7
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)