#django #django-channels #channels #daphne
#django #django-каналы #Каналы #дафна
Вопрос:
Итак, я разработал приложение Django с использованием Django 3.0.8
и подал его как asgi
приложение с channels 2.4.0
помощью and daphne
. На тот момент это были последние версии.
Приложение работало нормально, веб-сокеты и представления django работали адекватно, и channels
отлично справлялись с обработкой.
Итак, все было здорово, и мир казался прекрасным местом… пока какое-то зло внутри меня не заставило обновить Django, до 3.1.5
которого потребовалось обновление channels
3.0.3
. Итак, теперь приложение все еще работает, все страницы обслуживаются, а веб-сокеты работают, но все HTTP-запросы помещаются в очередь и обрабатываются в одном потоке, что делает приложение чрезвычайно медленным.
Я пытался прочитать документы channels 3
и все примечания к выпуску для Django и каналов, но я не вижу, что изменилось и какие изменения мне нужно внести, чтобы мое приложение работало так, как раньше.
Здесь представлены все версии связанных пакетов
Django==3.1.5
channels==3.0.3
channels_redis==3.2.0
asgiref==3.3.1
daphne==3.0.1
Я также использую Redis 6.
Моя маршрутизация выглядит так
application = ProtocolTypeRouter({
"http": get_asgi_application(),
'websocket': AuthMiddlewareStack(
URLRouter(
websocket_urls.urlpatterns
)
),
})
Любые предложения о том, что я здесь делаю неправильно, приветствуются.