【问题标题】:tornado - make connections survive server bounce龙卷风 - 使连接在服务器反弹中存活
【发布时间】:2014-09-25 21:40:29
【问题描述】:

我将tornado.websocket.WebSocketHandler 的实例存储在字典中,因此当特定用户收到消息时,我可以将消息路由到适当的侦听器。

这意味着当服务器反弹时,我们会丢失侦听器详细信息,客户端将不得不创建一个新的 WebSocket 实例。

我想实现将侦听器详细信息存储在持久存储中的方法,可能在 redis 中,但不确定最佳方法。

我可以腌制WebSocketHandler 实例并写入redis,然后在需要将发给特定用户的消息路由到他们的客户端时读取并取消腌制,但这感觉有点hacky。有没有更简单的解决方案?

【问题讨论】:

    标签: websocket redis tornado


    【解决方案1】:

    您无法有效地腌制 WebSocketHandler,因为无法以这种方式传输已连接的套接字。您也许可以使用 multiprocessing.Queue 来做一些事情,而不是简单地进行酸洗,但这充其量是棘手和棘手的。客户端必须能够在任何情况下创建新的 WebSocket 连接才能从网络中断中恢复;当服务器重启时,简单地做同样的事情是正常的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多