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.ini中文版
Oct 09 PHP
十天学会php之第三天
Oct 09 PHP
PHP 快速排序算法详解
Nov 10 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
Dec 02 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
PHP code 验证码生成类定义和简单使用示例
May 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
如何选购合适的收音机
2021/03/01 无线电
一个php作的文本留言本的例子(三)
2006/10/09 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
JS二分查找算法详解
2017/11/01 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
Python实现可自定义大小的截屏功能
2018/01/20 Python
python3实现名片管理系统
2020/11/29 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
总裁办公室主任职责
2014/01/02 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
销售团队口号大全
2014/06/06 职场文书
销售岗位职责范本
2014/06/12 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
学历证明范文
2015/06/16 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle