我有不同的长流程,可以从不同的API获取数据,然后将大量数据写入数据库。
我想立即显示从API返回的所有数据,然后将数据添加到数据库中。 (我不希望用户必须等到数据库完成其进程)。
我尝试实现ob_flush()
函数,这是我的代码:
$content = array_merge($this->api1Result, $this->api2Result);
//return to the client the result
ob_start();
$this->taskFinished($result);
ob_flush();
//After all content return to client add all content to Database
//$this->addContentToDatabase();
对于我做的第一个请求,看起来它的工作效果很好(结果显示给客户端需要2-3秒)。然而,在接下来的请求中,它变得太慢(需要20-30秒)。
我是否正确使用ob_flush
功能?