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的错误信息
Oct 09 PHP
用PHP产生动态的影像图
Oct 09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
php不使用copy()函数复制文件的方法
Mar 13 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP代码覆盖率统计详解
Jul 22 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
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
Python Queue模块详解
2014/11/30 Python
python正则表达式的使用
2017/06/12 Python
python 编写简单网页服务器的实例
2018/06/01 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
教师自我鉴定范文
2013/11/10 职场文书
班级入场式解说词
2014/02/01 职场文书
第二课堂活动总结
2014/05/07 职场文书
节能宣传周活动总结
2014/05/08 职场文书
教师个人发展总结
2015/02/11 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
安全教育日主题班会
2015/08/13 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript