@hakre您提供的内容不会减少用户等待响应的时间。
我找到了最好的解决方案:
yii的runactions扩展
这是扩展程序,可让您从控制器后台 *** 作运行。有几种使用方法。对于我来说,最好的方法是
public function actionTimeConsumingProcess(){ if (ERunActions::runBackground()) { //do all the stuff that should work in background mail->send() } else { //this pre will be executed immediately //echo 'Time-consuming process has been started' //user->setFlash ...render ... redirect, } //User information echo "Submit Success!"}
并且它的工作但没有ajax请求,当我发出ajax请求时,由于某种原因它不起作用。所以我用了:
ERunActions::httpPOST($this->createAbsoluteUrl('Form/Submit'), array('to'=>'mail@domain.com', 'subject'=>'This is the subject'));
它的工作很棒,但不是理想的解决方案。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)