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数据库类
May 27 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php导出生成word的方法
Dec 25 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
PHP session 会话处理函数
Jun 06 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
PHP 8新特性简介
Aug 18 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的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
js+css实现打字效果
2020/06/24 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
在Python下进行UDP网络编程的教程
2015/04/29 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
浅谈python迭代器
2017/11/08 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
解决python运行启动报错问题
2020/06/01 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
商场消防演习方案
2014/02/12 职场文书
意向书范本
2014/07/29 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
工作证明格式及范本
2014/09/12 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
文艺演出主持词
2015/07/01 职场文书
工作简历的自我评价
2019/05/16 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书