我正在尝试使用Django 3.0和Uvicorn,并得到这个开始:
INFO: Started server process [96219]
INFO: Waiting for application startup.
INFO: ASGI 'lifespan' protocol appears unsupported.
INFO: Application startup complete.
我可以用--lifespan off
标记关闭寿命,但是有没有办法让它在Django上工作?快速搜索Django +寿命似乎没有返回任何东西。
3条答案
按热度按时间vq8itlhq1#
不,
lifespan
协议不适用于Django 3.0。查看此票证:https://code.djangoproject.com/ticket/31508
hs1ihplo2#
编辑:一些粗略的性能基准测试:https://github.com/allen-munsch/benchmark-django-fastapi
旧版本
your_django/old_wsgi.py
:以前的运行方式:
新版本
your_django/asgi.py
:为了逃跑
相关:
pdtvr36n3#
作为@KubaMisiorny pointed out. Django不支持Lifespan Protocol.
如果您想禁用此协议,您有几个选项,具体取决于您的设置。
运行
uvicorn
传递
--lifespan off
选项。uvicorn --lifespan off
使用
uvicorn.workers.UvicornWorker
运行gunicorn
您需要通过创建工作类的子类来传递配置参数
创建
uvicorn_worker.py
在
gunicorn.conf.py
中