gpt4 book ai didi

python - 如何在 Tornado Web 中的请求之间共享数据

转载 作者:太空狗 更新时间:2023-10-29 17:55:54 52 4
gpt4 key购买 nike

我的 Tornado Web 服务器有以下用例:

根据 POST 请求,可以向服务器创建条目,这些条目不会持久保存到文件或数据库中。根据 GET 请求,可以启动或终止进程。

因此,我需要在我的 RequestHandler 实现中的不同请求之间共享数据。这样做的正常方法是什么?

我很难将数据保存到 self,例如 self.entry = "..."。在另一个请求中,数据不再存在。

我找到的唯一可行的解​​决方案是将其存储在应用程序对象中:

    application = web.Application([
(r'.*', MainHandler,
])

    def get(self):
# ...
self.application.entry = "..."

这是正确的方法吗?另外这里的同步是什么意思,我的意思是这意味着访问共享数据。

最佳答案

我建议如下:例如,传递一个存储数据的对象而不是数据库访问对象:

data = DataStore()

application = web.Application([
(r'.*', MainHandler, dict(data = data),
])

使用以下RequestHandler 初始化方法。

def initialize(self, data):
self.data = data

您必须先创建对象并传递它,否则每次处理请求时都会重新创建它。

关于python - 如何在 Tornado Web 中的请求之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240285/

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