本文实例讲述了Yii实现Command任务处理的方法。分享给大家供大家参考,具体如下:
1.配置,执行任务所需要的组件
任务配置文件:/protected/config/console.php
配置方法跟配置main文件差不多
?php// This is the configuration for yiic console application.// Any writable CConsoleApplication properties can be configured here.return array( basePath = dirname(__FILE__).DIRECTORY_SEPARATOR. .. , name = My Console Application , // application components // 自动载入的模型和组件类 import = array( application.models.* ,//载入 application/models/ 文件夹下的所有模型类 application.components.* ,//载入 application/components/ 文件夹下的所有应用组件类 application.extensions.* ,//载入 application/extensions/ 文件夹下的所有应用组件类 components = array( // uncomment the following to use a html' target='_blank'>MySQL database db = array( connectionString = mysql:host=localhost;dbname=dbname ,//连接mysql数据库 emulatePrepare = true, username = root ,//MySQL数据库用户名 password = 123456 ,//MySQL数据库用户密码 charset = utf8 ,//MySQL数据库编码 tablePrefix = zd_ , //MySQL数据库表前缀 enableProfiling = true, enableParamLogging = true, //加载Email组件 mailer = array( class = application.extensions.mailer.EMailer ,);
2.任务文件
放在 /protected/commands/ 文件目录下继承 CConsoleCommand 基类的为任务文件 命名方法为 任务名称+Command
例如 GoCommand.php
?php * 自动运行文件class GoCommand extends CConsoleCommand * 死循环输出 public function run(){ for($i=1;$i $i++){ self::echoWord($i); sleep(2);//休眠2秒 //跳出 if(i==500){ break; * 输出hollo word public function echoWord($i){ echo hollo word --$i/n }
3.执行任务
打开命令行工具,进入项目的/protected 目录下 输入yiic命令即出现提示,提示列表显示刚才写的任务文件
E:/project/app/protected yiicYii command runner (based on Yii v1.1.12)Usage: E:/zeee/zyd/protected/yiic.php command-name [parameters...]The following commands are available:- mailqueue- message- migrate- shell- webappTo see inpidual command help, use the following:
执行命令 yiic go 可实现任务处理
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !
相关推荐:
关于Yii中CDBCriteria的常用方法
如何解决Yii2下session跨域名共存的问题
以上就是如何通过Yii实现Command任务处理的方法的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答