gpt4 book ai didi

python - 在 Tornado 类中传递全局变量

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:48 25 4
gpt4 key购买 nike

到目前为止,我一直通过将变量声明为 global 来将变量从一个 Tornado 类传递到另一个类。我认为这可能不是理想的方式。这是我的代码示例:

class MHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous

def get(self):
self.render('index.html')

def post(self):
global account_age

age = self.get_argument('age')

account_age = [age]


class AgeHandler(tornado.websocket.WebSocketHandler):
@tornado.web.asynchronous
@gen.engine

def open(self):
global account_age


print 'Your account is overdue by: ', account_age

我想知道,在这个框架中,共享变量的方式是否更合适。

我只学了 python 和 Tornado 几个星期,所以请原谅我的无知。

谢谢

最佳答案

是的,我不会那样做。即使在这个简化的示例中,很明显您在 POST 和 websocket 打开之间存在竞争条件。您如何保证发出 POST 的人与打开 websocket 的人是同一个人?

我通常在全局列表/字典中保留对每个 websocket 连接的引用。某种引用,让我将服务器端输出写入正确的连接。

关于python - 在 Tornado 类中传递全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com