Yii实现Command任务处理的方法详解


Posted in PHP onJuly 14, 2016

本文实例讲述了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 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>0;$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>yiic
Yii command runner (based on Yii v1.1.12)
Usage: E:\zeee\zyd\protected\yiic.php <command-name> [parameters...]
The following commands are available:
- go
- mailqueue
- message
- migrate
- shell
- webapp
To see individual command help, use the following:

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

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP脚本的10个技巧(8)
Oct 09 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
apache mysql php 源码编译使用方法
May 03 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 PHP
PHP命名空间定义与用法实例分析
Aug 14 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 #PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
Jul 14 #PHP
Yii实现的多级联动下拉菜单
Jul 13 #PHP
YII视图整合kindeditor扩展的方法
Jul 13 #PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 #PHP
Yii安装与使用Excel扩展的方法
Jul 13 #PHP
Yii配置与使用memcached缓存的方法
Jul 13 #PHP
You might like
php银联网页支付实现方法
2015/03/04 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
react 生命周期实例分析
2020/05/18 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python中常见的数据类型小结
2015/08/29 Python
详解python基础之while循环及if判断
2017/08/24 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
会计岗位职责
2013/11/08 职场文书
销售文员的岗位职责
2013/11/20 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL