我有一个asyncio应用程序,我想使用aiohttp为它添加一个简单的REST API。据我所知,我可以创建一个aiohttp应用并在另一个线程上使用aiohttp.web.Server
运行它,或者我不得不忘记应用并使用较低级aiohttp.web.Application
API 。有没有办法可以使用run_app
然后将Web应用程序作为协程运行而不是使用{{1}}?
答案 0 :(得分:4)
只需打开aiohttp.web:run_app
(https://github.com/aio-libs/aiohttp/blob/master/aiohttp/web.py#L413-L467)的源代码,看看它是如何实现的。
您可以执行相同的操作,但不要调用阻止loop.run_forever()
。