千家信息网

yii框架如何通过控制台命令创建定时任务

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章将为大家详细讲解有关yii框架如何通过控制台命令创建定时任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。假设Yii项目路径为 /home/apps/1.
千家信息网最后更新 2024年11月17日yii框架如何通过控制台命令创建定时任务

这篇文章将为大家详细讲解有关yii框架如何通过控制台命令创建定时任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

假设Yii项目路径为 /home/apps/

1. 创建文件 /home/apps/protected/commands/crons.php

run();

2. 创建需要的配置文件 /home/apps/protected/config/console.php,配置需要的组件、数据库连接,日志等信息,格式类似主配置文件main.php

dirname(__FILE__).DIRECTORY_SEPARATOR.'..',    'name'=>'Emergency',    'import'=>array(              'application.models.*',            'application.components.*',             'application.extensions.*',    ),    'components'=>array(        'log'=>array(            'class'=>'CLogRouter',            'routes'=>array(                array(                    'class'=>'CFileLogRoute',                    'levels'=>'info, warning, error',                ),            ),        ),         'db'=>array(            'class'=>'application.extensions.PHPPDO.CPdoDbConnection',            'pdoClass' => 'PHPPDO',            'connectionString' => 'mysql:host=xxxx;dbname=xxx',            'emulatePrepare' => true,            'username' => 'xxx',            'password' => 'xxx',            'charset' => 'utf8',            'tablePrefix' => 'tbl_',        ),    ),      'params' => require('params.php'),);

3. 在 /home/apps/protected/commands/ 下新建 TestCommand 类,继承 CConsoleCommand,在TestCommand中,可以使用项目的配置信息和Yii的各种方法

4. 创建定时任务

$ crontab -e

插入

1 * * * * /home/php/bin/php -f /home/apps/protected/commands/crons.php Test &

即为每小时的第一分钟执行TestCommand类中的内容,类似的可以在/home/apps/protected/commands/下新建其他类,使用命令行执行。

关于"yii框架如何通过控制台命令创建定时任务"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0