1

我尝试使用 web.py 创建一个 Web 服务器,以便与守护进程通信。

目标是通过 HTTP 向我的 web.py 发送命令(在我的主守护进程打开的线程中执行);然后使用管道将命令传输到我的主程序。

最终的程序会有几个进程和线程,web.py 接口将是软件的入口点。

我的问题是 web.py 为每个请求实例化一个新类,所以我找不到将管道传递给请求处理程序的简单方法。我尝试使用钩子或处理器,但它似乎不起作用。

有人成功将对象传递给 web.py 处理程序吗?或者有没有办法将对象存储在网络对象的某个地方?

4

1 回答 1

1

我找到了解决方案,但在文档中并不清楚。

我刚刚使用 web.ctx 创建了一个 load_hook 来存储我的对象:

def load_hook():
    web.ctx.pipe = input_p

app = web.application(urls, globals())
    app.add_processor(web.loadhook(load_hook))
    app.run()

然后我可以在我的所有课程中访问 web.ctx.pipe。做起来很简单,但在文档中很难找到。

于 2013-02-15T14:45:04.980 回答