Zend框架:在向用户发送响应后执行代码


Zend framework: Execute code after response sent to user

我有一个简单的要求,就是在视图呈现并发送回用户后执行一些代码。

用户不需要被告知处理结果,我也不想在处理与他们无关的事情时阻碍用户,即使这可能只需要几秒钟的额外时间。

我知道对于一些重物,我可能应该使用齿轮手或类似的东西,但目前只需要一些快速简单的东西。

理想情况下,我仍然需要访问zend_registry和在执行的操作中创建的其他数据。

我在考虑插件和陷阱routeShutdown(),但这似乎已经很久了。。。

什么想法。。。

谢谢。

在这种情况下,我通常会创建一个队列(可能存储在db表中),然后运行cron进程来使用该队列。队列包含我进行请求后处理所需的数据,或者至少包含指向数据的指针。

注意:实际的HTTP请求对象和所有特定于请求的数据(如Zend_Registry中存储的任何数据)都已消失,不能由您的cron进程直接访问。如果您需要每个请求的任何数据来进行请求后处理,请确保将这些数据存储在工作队列中或其他持久位置。