在我的应用程序中,通过发出请求来更改公共对象的状态,响应取决于状态.
class SomeObj():
def __init__(self, param):
self.param = param
def query(self):
self.param += 1
return self.param
global_obj = SomeObj(0)
@app.route('/')
def home():
flash(global_obj.query())
render_template('index.html')
Run Code Online (Sandbox Code Playgroud)
如果我在我的开发服务器上运行它,我希望得到1,2,3等等.如果同时向100个不同的客户提出请求,可能出现问题吗?预期的结果是100个不同的客户端每个都看到1到100之间的唯一数字.或者会发生这样的事情:
self.param增加1.self.param再次递增.由于只有两个客户端,预期结果为1和2,而不是2和3.跳过了一个数字.
当我扩展我的应用程序时,这会发生吗?我应该看一下全局变量的替代方案?
我发现这个代码g会对每个响应进行计时,但我不确定应该从哪里来.什么是g?
@app.before_request
def before_request():
g.start = time.time()
@app.teardown_request
def teardown_request(exception=None):
diff = time.time() - g.start
print diff
Run Code Online (Sandbox Code Playgroud) 我想设置一个全局变量并将其用作各种功能的触发器。每个用户都有一个单独的全局变量。这用于跟踪以前的消息数据并进行对话。问题是如何为每个用户管理一个单独的全局变量?一旦我将它部署到服务器中,该应用程序就会运行。当我尝试更改全局变量时,此变量适用于每个用户,而不仅仅是触发其更改的单个用户。
我正在使用没有数据库的 python 烧瓶。
谢谢你。