Tornado:所有IOLoop实例的全局变量

时间:2016-05-20 23:29:32

标签: python global-variables tornado ioloop

我有一个简单的龙卷风/ redis聊天,它有一个带有监听器的池(简单的dict,用户名为密钥,websocket对象为值),因此一个(比如说主持人)可以将用户的websocket对象修改为例如禁止某人。但是当我启动多个IOLoop实例时,我突然意识到这个池不再是全局的了。所以问题是,是否有可能在所有IOLoops之间使用共享变量?在尝试IOLoop之前,我试图让这个池成为Application的一部分:

app = Application()
app.listeners = {}
http_server = HTTPServer(app)
http_server.bind(8181)
http_server.start(0)

但它不起作用。

1 个答案:

答案 0 :(得分:0)

要在不同的Python进程之间共享数据,数据必须存储在某些中央进程(如数据库服务器)中。我建议您将共享数据放在Redis中,因为您已经在使用它了。