python - 如何在 CherryPy 中执行异步后处理?

标签 python asynchronous cherrypy

上下文: 想象一下,您有一个标准的 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/

相关文章:

android - 用于通过单跳 Wi-Fi 网络从 Android 设备上传大型二进制文件 (50-200 MB) 的 HTTP 与 Vanilla 套接字

python - 如何从主窗口打开子窗口

python - 在 python lxml 库中使用西里尔字母的正确方法是什么

c# - 异步多播委托(delegate)

javascript - 在 redux 中使用 thunk 中间件比使用常规函数作为异步操作创建者有什么好处?

python - 使用 CherryPy 延迟声明静态文件/文件夹

Python 3.2 Cherrypy 3.2.3 ssl_module pyopenssl 错误

python - urllib3 如何确定使用哪些 TLS 扩展?

python - 对二维数组进行排序时出现问题

javascript - TypeScript - 'Unexpected token' 用于异步函数前缀