我正在尝试为Heroku中部署的Django应用启用Channels V2。 WSGI Web dyno可以完美运行,但是ASGI通道的第二个Web dyno从未收到请求,因此在尝试创建websocket连接时收到404响应。
这是Procfile文件:
web: gunicorn app_xxx.wsgi --log-file -
web2: daphne app_xxx.routing:application --port $PORT --bind 0.0.0.0 -v2
我也尝试过使用Uvicorn:
web: gunicorn app_xxx.wsgi --log-file -
web2: gunicorn app_xxx.asgi:application -b 0.0.0.0:$PORT -w 1 -k uvicorn.workers.UvicornWorker
好像一切都准备就绪,只需要找到一种方法来暴露wss端点
答案 0 :(得分:0)
为了使Channels在Heroku上正常工作,您应该首先添加Redis附加组件,然后确保 settings.py 中的(\d*[.]?\d*)
变量指向此Redis主机。您可以在下面看到一个示例:
CHANNEL_LAYERS