Estoy tratando de usar Django 3.0 con Uvicorn y estoy iniciando esto:
INFO: Started server process [96219] INFO: Waiting for application startup. INFO: ASGI 'lifespan' protocol appears unsupported. INFO: Application startup complete. Podría desactivar la vida útil con el --lifespan off , pero ¿hay alguna forma de que funcione con Django? Una búsqueda rápida de Django + lifespan parece no devolver nada.
No, el protocolo de lifespan no funciona con Django 3.0.
Vea este boleto: https://code.djangoproject.com/ticket/31508
Aquí está la configuración inicial que usé con django 3.1/3.2
EDITAR: algunos puntos de referencia de rendimiento aproximados: https://github.com/allen-munsch/benchmark-django-fastapi
your_django/old_wsgi.py :
import os from django.core.wsgi import get_wsgi_application from dj_static import Cling os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_django.settings") application = Cling(get_wsgi_application())Ejecutar previamente como:
newrelic-admin run-program gunicorn your_django.old_wsgi \ -k eventlet --log-file - --timeout 60 your_django/asgi.py :
import os from django.core.asgi import get_asgi_application from django.contrib.staticfiles.handlers import ASGIStaticFilesHandler os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pm.settings") application = ASGIStaticFilesHandler( get_asgi_application() )y correr
gunicorn your_django.asgi --log-level=debug -k uvicorn.workers.UvicornWorker \ --log-file - --timeout 60 # OR for local dev uvicorn --reload your_django.asgirelacionados: