在我的Django应用中,我需要将用户的请求代理到其他服务器。我使用asyncio/aiohttp client
。
#user->request
.....
loop = asyncio.get_event_loop()
future = asyncio.ensure_future(self.run(t1, t2, t3))
loop.run_until_complete(future)
......
# response
当我的django服务器以
python manager.py runserver
启动时,当用户请求时发生以下错误。但是当我从
Gunicorn
开始时,一切都很好。也许我应该使用
new_event_loop
?为什么
Gunicorn
没有问题? 最佳答案
请尝试以下操作:
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
但是,除非在 View 中发送大量请求,否则在同步Django中使用aiohttp不会提高其速度。如果这样做的话,最好将该任务移到某个工作人员(例如Celery)上,或者也将aiohttp用作服务器,而不是Django。
关于python - Django `python manage.py runserver`不支持asyncio&aiohttp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51397012/