如何创建由cron执行的方法(Yii)

时间:2014-10-28 16:11:14

标签: yii cron

我完全迷失了。我关注了几个关于cron和Yii的教程,但都失败了(Tuto 1 - phpdoc-crontabTuto 2)。

此外,该项目不是我的,并且不存在受保护的文件夹..

我想在控件之后每隔10分钟在我的数据库中执行一次UPDATE。

我已经知道如何创建一个cron但是......真的不知道如何处理Yii。

我需要连接到数据库并访问模型..

感谢您的帮助

更新:

感谢@ crafter的回复我能够执行yiic AutoCron但是我收到错误:

"PHP Error[2]: include(User.php): failed to open stream: No such file or directory "

我无法使用config / console.php,因为该项目不符合标准结构。

如何导入所有模型以避免此错误?

我收到与此帖完全相同的问题:Yii - How to access to model and call action in yiic

我还有一个cronconfig.php(我导入模型) 还没有回复..

1 个答案:

答案 0 :(得分:0)

参阅WIKI帖子

http://www.yiiframework.com/wiki/91/implementing-cron-jobs-with-yii/

您需要在protected / commands中创建一个扩展CConsoleCommand

的类
class TestCommand extends CConsoleCommand {
    public function run($args) {
       // You can use your Yii library here, for example
       $userModel = User::model()->findByPK(1);
       $userModel->active = 'N';
       $userModel->save();
    }
}

您可以使用yiic工具运行命令,例如对protected / commands / myCronJobCommand.php文件。

$ cd protected    
$ ./yiic myCronJob