我尝试使用web.py创建一个Web服务器,以便与守护进程通信。
目标是通过HTTP将命令发送到我的web.py(在我的主守护进程打开的线程中执行);然后使用管道将命令传输到我的主程序。
最终的程序将有多个进程和线程,web.py接口将成为软件的入口点。
我的问题是web.py为每个请求设置了一个新类,所以我找不到一种简单的方法将我的管道传递给请求处理程序。我尝试使用钩子或处理器,但它似乎不起作用。
有人成功将对象传递给web.py处理程序吗?或者有没有办法将对象存储在Web对象的某个位置?
答案 0 :(得分: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。很简单,但很难在文档中找到。