上下文: 想象一下,您有一个标准的 CherryPy hello word 应用程序:
def index(self):
return "Hello world!"
index.exposed = True
并且您想进行一些后处理,即记录请求处理或仅记录我们是从特定 IP 调用的事实。你会做的可能是:
def index(self):
self.RunMyPostProcessing()
return "Hello world!"
index.exposed = True
但是,这会增加您的请求处理时间。 (顺便说一句。如果您想在每个函数上调用它,您可能会使用装饰器,或者甚至是一些更复杂的方法)。
问题: 有没有一种方法可以创建一个全局线程感知队列(缓冲区),每个请求都可以向其中写入需要记录的消息(事件),而一些神奇的功能会捕获它并进行后处理?你知道这种事情的模式吗?
我打赌 CherryPy 支持类似的东西:-)
提前致谢...
最佳答案
“全局线程感知队列”称为 Queue.Queue。
关于python - 如何在 CherryPy 中执行异步后处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1310959/