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()函數后,會立即返回,可以不用等待后續操作。