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 相关文章推荐
PHP执行速率优化技巧小结
Mar 15 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
PHP删除特定数组内容并且重建数组索引的方法.
Mar 25 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
php检测文件编码的方法示例
Apr 25 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
php实现数组重复数字统计实例
Sep 30 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 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
自己前几天写的无限分类类
2007/02/14 PHP
php discuz 主题表和回帖表的设计
2009/03/13 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
智能旅行箱:Horizn Studios
2018/04/30 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
学生励志演讲稿
2014/01/06 职场文书
保护环境倡议书100字
2014/05/19 职场文书
爱牙日活动总结
2014/08/29 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
刘公岛导游词
2015/02/05 职场文书
支行行长岗位职责
2015/02/15 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
单位更名证明
2015/06/18 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL