0

我对 ASGI 和 Django Channels 比较陌生,所以这可能是一个非常基本的问题。

由于我的一个 Django 项目中的 Django Channels,我运行了 ASGI,它运行良好。然后我想处理我的旧项目,它还没有使用 ASGI。我杀死在 127.0.0.1 上本地运行的调试服务器,切换环境(在一个全新的 shell 窗口中)并启动为旧项目运行的调试服务器:

(server) me@laptop server % ./manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
June 12, 2021 - 11:23:40
Django version 3.2, using settings 'oldproj.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Not Found: /ws/chats/1056/
[12/Jun/2021 11:23:46] "GET /ws/chats/1056/ HTTP/1.1" 404 6103
[12/Jun/2021 11:23:46,327] - Broken pipe from ('127.0.0.1', 58901)

Not Found: /ws/chats/1056/
[12/Jun/2021 11:37:43] "GET /ws/chats/1056/ HTTP/1.1" 404 6103
[12/Jun/2021 11:37:43,293] - Broken pipe from ('127.0.0.1', 59096)

Not Found: /ws/chats/1056/
[12/Jun/2021 11:37:43] "GET /ws/chats/1056/ HTTP/1.1" 404 6103
[12/Jun/2021 11:37:43,293] - Broken pipe from ('127.0.0.1', 59096)

这些错误消息每 30 秒左右重复一次。我怀疑有一个进程仍在运行以支持新的、配备 ASGI 的项目,但我不知道它是什么。(我找了 daphne、nginx 等。)

我需要做什么才能正确关闭我的新 Django Channels 项目,以便在旧版本中运行服务器时不会出现这些错误?

4

1 回答 1

1

您可能正在运行一个正在尝试 websocket 连接的浏览器窗口。

由于两个项目共享端点(http://localhost:8000或类似的东西),您的其他不相关项目正在接收这些请求并返回 404。

于 2021-06-14T07:35:14.223 回答