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中截取字符串支持utf-8
Jan 18 PHP
php empty函数 使用说明
Aug 10 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
基于PHP CURL获取邮箱地址的详解
Jun 03 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
php依赖注入知识点详解
Sep 23 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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项目的方法
2006/10/09 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
python设计模式大全
2016/06/27 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
浅析python参数的知识点
2018/12/10 Python
python编写微信公众号首图思路详解
2019/12/13 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
数据库方面面试题
2012/04/22 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
白酒市场营销方案
2014/02/25 职场文书
教堂婚礼主持词
2014/03/14 职场文书
消防工作实施方案
2014/06/09 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
金砖之国观后感
2015/06/11 职场文书
2015团员个人年度总结
2015/11/24 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python