php的fastcgi_finish_request,函数


功能:

此函数冲刷(flush)所有响应的数据给客户端并结束请求。 这使得客户端结束连接后,需要大量时间运行的任务能够继续运行。

返回值:

成功时返回 TRUE, 或者在失败时返回 FALSE


应用场景:

  如果一个方法耗时较长,可以先返回客户端或页面需要的数据,再进行后续的操作。

示例:

echo date('Y-m-d H:i:s',time());
echo '<hr>';
time_sleep_until(time()+20); // 假如后续代码需要耗时20秒
//其他业务代码
...

正常情况下,程序会执行完毕才会返回数据给页面或客户端,示例代码需要等待20秒才返回数据;

echo date('Y-m-d H:i:s',time());
echo '<hr>';
fastcgi_finish_request();  // 把数据先返回给App
time_sleep_until(time()+20); //假如后续代码执行需要耗时20秒
//其他业务代码
...

使用fastcgi_finish_request()函数后,会立即返回,可以不用等待后续操作。