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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
php木马webshell扫描器代码
Jan 25 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
SESSION存放在数据库用法实例
Aug 08 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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简单提示框alert封装函数
2010/08/08 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Python实现的生成格雷码功能示例
2018/01/24 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
python中partial()基础用法说明
2018/12/30 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
劳资专员岗位职责
2013/12/27 职场文书
会计岗位说明书
2014/07/29 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
信用卡工资证明范本
2014/10/17 职场文书
python实现监听键盘
2021/04/26 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python