我有一个使用 python 的龙卷风框架运行良好的 websocket 实现,用作后端,在单个龙卷风进程上运行良好。虽然我正在尝试,但我无法在多个进程之间保留 websocket 客户端连接。
我目前正在将客户端实例添加到模块的字典对象中,其他进程不容易访问该对象。
有人应该如何在 python 中的多个进程之间保存一个类实例(更具体地说,龙卷风)?
您不应该尝试在进程之间共享对象。只是不要这样做。
如果您的用例是某个进程因任何原因停止,请让客户端通过重新连接来处理关闭。连接将被路由到另一个正在运行的 Tornado 进程。
如果您的用例是与其他 Tornado 进程共享消息,请考虑一下您的网络拓扑:您可能会将消息发送到新的父节点,该父节点将消息分发回所有 Tornado 实例(包括原始 Tornado 进程)。
ZMQ库和文档是很好的资源,会给你一些想法。