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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
相对路径转化成绝对路径
Apr 10 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 PHP
PHP Global定义全局变量使用说明
Aug 15 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php 数据结构之链表队列
Oct 17 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
YII框架关联查询操作示例
Apr 29 PHP
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
Apr 01 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获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
python使用PIL实现多张图片垂直合并
2019/01/15 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
在Python中实现字典反转案例
2020/12/05 Python
python 爬取小说并下载的示例
2020/12/07 Python
小小商店教学反思
2014/04/27 职场文书
建设投标担保书
2014/05/13 职场文书
班级文化建设标语
2014/06/23 职场文书
大专生求职信
2014/06/29 职场文书
教师见习总结范文
2015/06/23 职场文书
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫