我正在实现一个移动api。其中一个请求处理json数据,然后将预定义的消息(独立于计算)返回给设备。我用kohana 3。我如何首先返回http响应,然后进行计算?您认为使用消息队列和单独的程序来处理和数据库操作怎么样?
一个选择是使用gearman。有一个Kohana gearman模块,是由Kohana的一个开发者制作的。
也许你可以帮助flush()函数,它发送缓冲区(和头也)。但是flush()不保证头消息发送,因为php和web浏览器之间保持一个web服务器(如apache)
我不确定我理解你的问题,但如果你想缓冲输出,你可以使用ob_start()
和ob_get_clean()
我想你可能在找像
这样的东西ignore_user_abort(true)
http://www.php.net/manual/en/function.ignore-user-abort.php 发出调用后,您可以将响应发送回浏览器,并在连接关闭并且客户端离开做其他事情之后完成计算/记录。
这使您可以做一些快速处理,而无需挂起客户端或使用外部进程来处理您的任务