Yii框架创建cronjob定时任务的方法分析


Posted in PHP onMay 23, 2017

本文实例讲述了Yii框架创建cronjob定时任务的方法。分享给大家供大家参考,具体如下:

1. 添加环境配置

protected/config/console.php

<?php
require_once('env.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'=>'CMS Console',
  // application components
  'components'=>array(
    //Main DB connection
    'db'=>array(
      'connectionString'=>DB_CONNECTION,
      'username'=>DB_USER,
      'password'=>DB_PWD,
      'enableParamLogging'=>true,
    ),
    'log'=>array(
      'class'=>'CLogRouter',
      'routes'=>array(
        array(
          'class'=>'CFileLogRoute',
          'levels'=>'error, warning',
        ),
      ),
    ),
  ),
);

2. 添加定时任务执行模块

protected/commands/crons.php

<?php
defined('YII_DEBUG') or define('YII_DEBUG',true);
// including Yii
require_once('/../framework/yii.php');
// we'll use a separate config file
$configFile='/config/console.php';
// creating and running console application
Yii::createConsoleApplication($configFile)->run();

3. 添加具体的定时任务

定时任务通常是一个命令行程序,从CConsoleCommand类派生,比如
protected/commands/TestCommand.php

class TestCommand extends CConsoleCommand
{
  public function run($args) {
    //todo
  }
}

4. 创建cronjob

30 0 * * * www php /path/to/crons.php Test >>/path/to/logs/test.log

5. 传入参数给定时任务中的run($params)

30 0 * * * www php /path/to/crons.php Test param1 param2 ...

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

PHP 相关文章推荐
PHPMyAdmin 快速配置方法
May 11 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
php中用数组的方法设置cookies
Apr 21 PHP
CI框架安全类Security.php源码分析
Nov 04 PHP
php短址转换实现方法
Feb 25 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
PHP构造二叉树算法示例
Jun 21 PHP
PHP创建XML接口示例
Jul 04 PHP
零基础php编程好学吗
Oct 11 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
php注册审核重点解析(数据访问)
May 23 #PHP
php + nginx项目中的权限详解
May 23 #PHP
Yii框架实现记录日志到自定义文件的方法
May 23 #PHP
Yii 2.0如何使用页面缓存方法示例
May 23 #PHP
PHP创建单例后台进程的方法示例
May 23 #PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
May 23 #PHP
yii 2.0中表单小部件的使用方法示例
May 23 #PHP
You might like
php中的时间显示
2007/01/18 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
高效的获取当前元素是父元素的第几个子元素
2013/10/15 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python字符串连接方式汇总
2014/08/21 Python
python用插值法绘制平滑曲线
2021/02/19 Python
python模拟实现分发扑克牌
2020/04/22 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
北承题目(C++)
2012/05/16 面试题
酒店管理毕业生自荐信
2013/10/24 职场文书
竟聘演讲稿范文
2013/12/31 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
民事调解书范文
2015/05/20 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android