#django #gunicorn #uvicorn
Вопрос:
моя команда запуска для приложения django asgi с использованием gunicorn выглядит следующим образом:
gunicorn -b '0.0.0.0:8000' myproject.asgi:application -w 4 -k uvicorn.workers.UvicornWorker --access-logfile /logs/access.log --access-logformat "%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s %(f)s" gt;gt; /logs/error.log
Когда я пытаюсь получить доступ к любой конечной точке приложения, я получаю уже используемый исполнитель с одним потоком, что приведет к ошибке взаимоблокировки.
Я использую следующие версии пакетов:
Django=3.2.4 asgiref==3.4.0 uvicorn==0.15.0 gunicorn==20.1.0
Ответ №1:
Я исправил это, удалив :приложение из команды запуска gunicorn следующим образом:
gunicorn -b '0.0.0.0:8000' myproject.asgi -w 4 -k uvicorn.workers.UvicornWorker --access-logfile /logs/access.log --access-logformat "%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s %(f)s" gt;gt; /logs/error.log