【问题标题】:Yii runactions not working as it shouldYii 运行操作无法正常工作
【发布时间】:2014-10-02 15:09:35
【问题描述】:

我目前正在尝试让用户运行操作来执行进程(尤其是长请求),而无需用户等待。所以我遵循了runactions的文档。它说下面应该工作。插入语句应该可以在操作仍继续进行时工作。

public function actionLongProcess(){

        if(ERunActions::runBackground()){
             $sql = <<<EOD
                   insert into public.test (value) VALUES ('hehe')                              
EOD;
             Yii::app()->db->createCommand($sql)->execute();

        }else{
                ChromePhp::log('hello');
        }
}

遗憾的是,它没有,我不知道为什么,只执行了 else 部分。这里有点不知所措。

【问题讨论】:

    标签: php yii background-process


    【解决方案1】:

    这个扩展是一个运行动作的辅助类。它使控制器动作可在不同的上下文中重用。

    特点

    将控制器操作作为后台任务运行

    配置 cron 作业

    远程/本地服务器上的“触摸”网址。

    运行预配置的批处理作业或 php 脚本

    使用内置 Http 客户端处理简单的 GET 和 POST 请求(自 v1.1 起)

    控制器操作的间隔过滤器(自 v1.1 起)

    要求

    使用 Yii 1.1.7 开发

    使用 'touchUrlExt'(见下文)时,您必须安装扩展程序 ehttpclient

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多