所以我读到目前使用Django实现websockets的最佳选择是使用Tornado来运行websocket服务器。
好的,我明白了。
但是假设我想在我的django应用程序中发生某些事情时通过websocket服务器广播消息,例如:网络设备突然脱机,我希望网络管理员明白得到通知。
我能想到的自然过程是向设备模型注册一个信号,每当有趣的事情发生时,我必须能告诉Tornado:嘿伙计,向所有连接的管理员发送广播信息。
但我该怎么做?
也许有某种发布/订阅机制?芹菜?
有没有关于这个东西的文章?这很有意思,但还没有找到任何正确解释的实际用例。
谢谢!
按照接受的答案中的建议后,我想出了这个: https://github.com/ninuxorg/nodeshot/commit/26373a3478d77a8cc8ac8bbd0c1c45694c26a779
答案 0 :(得分:2)
进程之间通信的规范方法是队列(或管道)。我不确定multiprocessing
包中的队列是否有效。如果这不起作用,您可以在文件系统上创建命名管道,并使用os.mkfifo
通过管道进行通信。