小编Bef*_*777的帖子

在 for 循环中运行异步函数时 Asyncio + Aiohttp 内存泄漏 (python)

我正在制作一个 python 函数,它向 api 发出很多请求。该函数的工作原理如下:

async def get_one(session, url):
    try:
        with session.get(url) as resp:
            resp = await resp.json()
    except:
        resp = None
    return resp, url

async def get_all(session, urls):
    tasks = [asyncio.create_task(get_one(session, url)) for url in urls]
    results = await asyncio.gather(*tasks)
    return results

async def make_requests(urls):
    timeout = aiohttp.ClientTimeout(sock_read=10, sock_connect=10, total=0.1*len(urls))
    connector = aiohttp.TCPConnector(limit=125)
    async with aiohttp.ClientSession(connector=connector, skip_auto_headers=['User-Agent'], timeout=timeout) as session:
        data = await get_all(session, ids)
        return data

def main(urls):
    results = []

    while urls:
        retry = []
        response = …
Run Code Online (Sandbox Code Playgroud)

python python-asyncio aiohttp

6
推荐指数
0
解决办法
1099
查看次数

标签 统计

aiohttp ×1

python ×1

python-asyncio ×1