我使用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