多个异步循环

时间:2019-01-11 06:05:01

标签: python concurrency operating-system python-asyncio

我正在多服务python应用程序中实现服务。此服务将等待将请求推送到Redis队列中,并在有可用请求时对其进行解决。

async def foo():
    while True:
        _, request = await self.request_que.brpop(self.name)
        # processing request ...

我正在将此foo()函数添加到asyncio事件循环中:

loop = asyncio.new_event_loop()
asyncio.ensure_future(self.handle(), loop=loop)
loop.run_forever()

主要问题是,是否可以在几个(例如3个或4个)不同的服务上执行此操作,从而导致同时运行多个异步循环?它会损害操作系统吗?

1 个答案:

答案 0 :(得分:1)

简单答案:是的。没事。我之前实现了一项服务,该服务在一个异步循环上运行,并生成在其自己的循环(在同一台计算机上)上运行的其他进程。