Yii –Command 任务处理

Yii2实战教程 2016年8月17日 4.67K

1.配置,执行任务所需要的组件

任务配置文件:/protected/config/console.php
配置方法跟配置main文件差不多

  1. <?php    
  2.     
  3. // This is the configuration for yiic console application.    
  4. // Any writable CConsoleApplication properties can be configured here.    
  5. return array(    
  6.     ‘basePath’=>dirname(__FILE__).DIRECTORY_SEPARATOR.‘..’,    
  7.     ‘name’=>’My Console Application’,    
  8.     // application components    
  9.     
  10.     // 自动载入的模型和组件类    
  11.     ‘import’=>array(    
  12.             ‘application.models.*’,//载入”application/models/”文件夹下的所有模型类    
  13.             ‘application.components.*’,//载入”application/components/”文件夹下的所有应用组件类    
  14.             ‘application.extensions.*’,//载入”application/extensions/”文件夹下的所有应用组件类    
  15.     ),    
  16.     
  17.     ‘components’=>array(    
  18.             // uncomment the following to use a MySQL database    
  19.             ‘db’=>array(    
  20.                     ‘connectionString’ => ‘mysql:host=localhost;dbname=dbname’,//连接mysql数据库    
  21.                     ’emulatePrepare’ => true,    
  22.                     ‘username’ => ‘root’,//MySQL数据库用户名    
  23.                     ‘password’ => ‘123456’,//MySQL数据库用户密码    
  24.                     ‘charset’ => ‘utf8’,//MySQL数据库编码    
  25.                     ‘tablePrefix’ => ‘zd_’, //MySQL数据库表前缀    
  26.                     ‘enableProfiling’=>true,    
  27.                     ‘enableParamLogging’=>true,    
  28.             ),    
  29.             //加载Email组件    
  30.             ‘mailer’ => array(    
  31.                     ‘class‘     => ‘application.extensions.mailer.EMailer’,    
  32.             ),    
  33.     ),    
  34. );    

2.任务文件

放在 /protected/commands/ 文件目录下继承 CConsoleCommand 基类的为任务文件 命名方法为 任务名称+Command
例如 GoCommand.php

  1. <?php    
  2.     
  3. /**   
  4.  * 自动运行文件   
  5.  */    
  6. class GoCommand  extends CConsoleCommand    
  7. {    
  8.     
  9.     
  10.     /**   
  11.      * 死循环输出   
  12.      */    
  13.     public function run(){    
  14.             
  15.         for($i=1;$i>0;$i++){    
  16.             self::echoWord($i);    
  17.             sleep(2);//休眠2秒    
  18.                 
  19.             //跳出    
  20.             if(i==500){    
  21.                 break;    
  22.             }    
  23.         }    
  24.     }    
  25.     
  26.     /**   
  27.      * 输出hollo word   
  28.      */    
  29.     public function echoWord($i){    
  30.         echo “hollo word –$i\n”;    
  31.     }    
  32. }    

3.执行任务

打开命令行工具,进入项目的/protected 目录下 输入yiic命令即出现提示,提示列表显示刚才写的任务文件

  1. E:\project\app\protected>yiic    
  2. Yii command runner (based on Yii v1.1.12)    
  3. Usage: E:\zeee\zyd\protected\yiic.php <command-name> [parameters…]    
  4.     
  5. The following commands are available:    
  6. – go    
  7. – mailqueue    
  8. – message    
  9. – migrate    
  10. – shell    
  11. – webapp    
  12.     
  13. To see individual command help, use the following:    

执行命令 yiic go 可实现任务处理


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(1)

文章评论

您需要之后才可以评论
1点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网