2

So I've developped Django app using Django 3.0.8 and served it as an asgi app with channels 2.4.0 and daphne. At that point in time those were the latest versions.

The application was working nicely with web sockets and django views working adequately, and channels handled treading great.

So all was great and world seemed like a beautiful place... until some evil inside me pushed to upgrade Django to 3.1.5 which required upgrading channels to 3.0.3. So now app still works, all pages are served and web sockets work, but all HTTP requests are queued and handled in one thread, which makes the application extremely slow.

I've tried to read the docs for channels 3 and all release notes for Django and channels, yet I'm not seeing what has changed and what changes I need to introduce to make my app run like it was before.

Here are all versions of related packages

Django==3.1.5
channels==3.0.3
channels_redis==3.2.0
asgiref==3.3.1
daphne==3.0.1

I also use Redis 6.

My routing looks like this

application = ProtocolTypeRouter({
    "http": get_asgi_application(),
    'websocket': AuthMiddlewareStack(
            URLRouter(
                websocket_urls.urlpatterns
            )
        ),
})

Any suggestions on what I'm doing wrong here are welcome.

Jerry Shaw
  • 256
  • 4
  • 9

0 Answers0