我有一个有 facebook 登录的应用程序。用户有影响其他用户的操作。如果受影响的用户已登录,我希望实时通知他们,否则他们应该在下次登录时看到通知。我tornado
在服务器端使用(非阻塞)。数据库是mongodb
. 我正在motor
用作我的异步 mongodb 客户端,我想我想使用socket.io
. 到目前为止,我认为我应该这样做:
每当用户说
user1
执行影响 的操作时,集合中user2
对应的行user2
将以users
某种足以产生通知内容的方式更新。当用户说
user2
登录网站时,它会通过socket.io
websocket 连接。在服务器端,所有存储的通知都被发送到客户端,并安装了一个处理程序来监视集合中on_connect
对应的行user2
。users
每当它检测到更改时,它都会发出一条消息,指示新的通知。此外,在读取通知时,客户端将向服务器发送一条消息,服务器将重置users
集合中的条目。这些处理程序必须在断开连接时注销。
问题是,如何安装这些处理程序?我找不到任何方法让 mongodb 通知我任何更改。我该怎么做呢?