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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
php开发环境配置记录
Jan 14 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
理解php依赖注入和控制反转
May 11 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
php格式文件打开的四种方法
Feb 24 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 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/06/14 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php-app开发接口加密详解
2018/04/18 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
一篇文章带你从零快速上手Rollup
2020/09/07 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python图像灰度变换及图像数组操作
2016/01/27 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
法学个人求职信范文
2014/01/27 职场文书
国培教师自我鉴定
2014/02/12 职场文书
担保书格式及范文
2014/04/01 职场文书
企业工会工作总结2015
2015/05/13 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python