Обработка потоков перестала работать после обновления Django с 3.0.8 до 3.1.5 и каналов с 2.4.0 до 3.0.3

#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
            )
        ),
})
 

Любые предложения о том, что я здесь делаю неправильно, приветствуются.