gpt4 book ai didi

python - Django `python manage.py runserver` 不支持 asyncio&aiohttp

转载 作者:行者123 更新时间:2023-12-02 09:20:45 25 4
gpt4 key购买 nike

在我的 Django 应用程序中,我需要将用户的请求代理到其他服务器。我使用 asyncio/aiohttp 客户端

#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启动时,用户请求时出现以下错误。

RuntimeError: There is no current event loop in thread 'Thread-1'.

但是当我开始使用 Gunicorn 时,一切都很好。

也许我应该使用new_event_loop

为什么Gunicorn没有问题?

最佳答案

尝试以下操作:

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)

但是在同步 django 中使用 aiohttp 不会提高速度,除非您在 View 中发送大量请求。如果你这样做,最好将该任务转移给某个工作人员(例如 Celery),或者也使用 aiohttp 作为服务器而不是 Django。

关于python - Django `python manage.py runserver` 不支持 asyncio&aiohttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com