如何首先打印http响应并在以后执行繁重的数据库操作?

时间:2011-09-25 01:35:13

标签: php http kohana-3

我正在实施移动API。其中一个请求处理json数据,然后将预定义消息(独立于计算)返回给设备。我正在使用kohana 3。 如何首先返回http响应并在之后进行计算? 您如何看待,使用消息队列和执行处理和数据库操作的单独程序?

4 个答案:

答案 0 :(得分:1)

一种选择是使用gearman。有一个由Kohana开发者制作的Kohana gearman module

答案 1 :(得分:0)

也许你可以帮助flush()函数,它发送缓冲区(和标题)。但flush()不保证标头发送,因为php和Web浏览器之间保持Web服务器(如apache)

答案 2 :(得分:0)

不确定我理解您的问题,但如果您想缓冲输出,可以使用ob_start()ob_get_clean()

答案 3 :(得分:0)

我认为您可能正在寻找类似

的内容
ignore_user_abort(true)

http://www.php.net/manual/en/function.ignore-user-abort.php

拨打电话后,您可以将响应发送回浏览器,并在关闭连接并且客户端关闭其他内容后完成计算/记录。

这使您可以在不挂断客户端或必须使用外部流程来处理任务的情况下进行快速处理