在将 Django 从 3.0.8 升级到 3.1.5 并将通道从 2.4.0 升级到 3.0.3 后,线程停止工作

问题描述

因此,我使用 Django 3.0.8 开发了 Django 应用程序,并将其作为带有 asgichannels 2.4.0daphne 应用程序提供。在那个时候,那些是最新版本。

该应用程序运行良好,网络套接字和 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
            )
        ),})

欢迎对我在这里做错的任何建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)