我使用PHP(Yii框架)和Postgresql爲數據庫。基本上是一個wappstack。我剛剛提到他們,如果他們是這個問題的關注。PHP:在後臺執行sql查詢
不管怎樣,我想要做到的,是我有一個提交動作:
public function actionSubmitData($id){
//Execute Sql queries here
$this->render('view',array(
//some data
));
}
的問題是,我會處理大量數據的;大約50,000個記錄將在每個表中大約10列的4個表中處理,這相當大。用例是用戶提交,然後sql語句在後臺執行,但視圖'view'應該已經被渲染,而不需要用戶等待記錄被處理。他/她可以在處理完記錄後再進行檢查。
一個正常的請求會先執行sql語句,然後渲染視圖。問題在於頁面大約需要3-5分鐘。該頁面從不加載;並且記錄的創建沒有完成,只有在請求密集時出現白頁。
換句話說,我該如何在後臺執行sql查詢?在處理請求時,讓用戶仍然可以瀏覽應用程序?和某處在後臺,正在處理記錄?這個問題的解決方法是什麼?謝謝!
保存,運行查詢,並安排在後臺執行該工作所需的信息。 – GolezTrol 2014-09-23 07:13:08
嘗試使用Yii框架的隊列,這將是解決您的問題的最佳解決方案。 – justrohu 2014-09-23 07:13:47
@GolezTrol,你能提供一個更具體的解釋嗎?概念驗證/示例代碼會很棒! – muffin 2014-09-23 07:19:02