如何解决内存消耗大的python异步IO问题?

如何解决内存消耗大的python异步IO问题?,python,python-asyncio,Python,Python Asyncio,在他们的蜘蛛中,我通常使用这样一根柱子: async def crawl(future, client, pool): futures = [] urls = await future for request_future in asyncio.as_completed([request(client, url) for url in urls]): parse_future = loop.run_in_executor(

在他们的蜘蛛中,我通常使用这样一根柱子:

 async def crawl(future, client, pool):
        futures = []
        urls = await future
        for request_future in asyncio.as_completed([request(client, url) for url in urls]):
            parse_future = loop.run_in_executor(pool, parse, (await request_future))
            futures.append(asyncio.ensure_future(crawl(parse_future, client, pool)))
        if futures:
            await asyncio.wait(futures)
一切都会很好,但是当存在大量链接时,在执行对服务器的请求(request)后,结果会被保存,然后由池通过线程进行处理

这正是它被存储的时候,消耗了大量的RAM(现在几乎是8GB)

是否有可能以某种方式更改此设计,以便在请求之后立即处理结果,或者将结果保存到一定数量(例如50),然后快速处理线程池

那些。我需要将RAM消耗降低到可接受的水平,但不要失去异步请求的好处