gpt4 book ai didi

python - 使用 python 的 BaseHTTPRequestHandler 保持 HTTP 请求之间的状态

转载 作者:可可西里 更新时间:2023-11-01 16:21:57 33 4
gpt4 key购买 nike

我有一个从 BaseHTTPRequestHandler 派生的 HTTP 处理程序

class MyHandler(BaseHTTPRequestHandler):
do_GET():
...

我一直遇到的问题是我想报告我的应用程序在另一个线程中运行的状态。似乎对于每个请求都会调用一个新的处理程序实例,因此我无法将我的程序状态保留在 MyHandler 中。我可以在全局范围内存储状态,但出于设计原因我不想这样做。还有其他选择吗?

最佳答案

您可以使用多处理模块来完成此操作。首先派生一个服务器类:

class MyTCPServer(SocketServer.ForkingTCPServer):
manager = multiprocessing.Manager()
SHARED = manager.dict()

然后在您的处理程序的 do_GET 中,您可以执行以下操作:

self.server.SHARED['foo'] = 1

然后应该由其他 do_GET 实例引用。

关于python - 使用 python 的 BaseHTTPRequestHandler 保持 HTTP 请求之间的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17736394/

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