我正在尝试实现Django频道,因为我需要让用户在其他用户做某事时收到通知,而我对此部分感到困惑:
http://channels.readthedocs.io/en/stable/deploying.html
使用渠道部署应用程序需要比a更多的步骤 正常的Django WSGI应用程序,但你有几个选项 如何部署它以及您希望路由的流量 通过渠道层。
首先,请记住它是Django的完全可选部分。如果 你留下一个默认设置的项目(没有CHANNEL_LAYERS), 它只是像普通的WSGI应用程序一样运行和工作。
问题是我对使用的共享主机拥有相当有限的权限,因此,我无法使用runworker命令。
上面的引用说这部分是“可选的”,如果没有它,它将像普通的WSGI应用程序一样工作。但是我可以将Django频道与普通的WSGI应用程序一起使用吗?如果没有,那么这是不是意味着它根本不是可选的?
所以我的问题是:如果我跳过这一部分,频道是否仍然有用,我是否能够使用此页面上显示的内容(路由,发送消息等):http://channels.readthedocs.io/en/stable/getting-started.html?
答案 0 :(得分:2)
从阅读文档,我得到的是,首先你需要使用后端来运行频道,例如。 redis,Sharding和run" runworker",但由于它不适合你,请看看http://channels.readthedocs.io/en/stable/backends.html
"""内存层仅在单个进程中运行协议服务器和工作服务器时才有用。最常见的情况是runserver,其中服务器线程,此通道层和工作线程都在同一个python进程内共存。""" 因此,通过避免第三方后端,您可以使用内存中的asgi图层,然后运行“运行服务器”#39;并设置通道层。只需在链接
中查找内存中的子主题如果你保持CHANNEL_LAYERS空django' ll可以作为wsgi应用程序工作,但我们需要的是asgi应用程序,并且asgi是渠道所必需的。