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 !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
培养自己的php编码规范
Sep 28 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
实例解析php的数据类型
Oct 24 PHP
php服务器的系统详解
Oct 12 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 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解析目录路径的3个函数总结
2014/11/18 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
python使用nntp读取新闻组内容的方法
2015/05/08 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
公司培训心得体会
2014/01/03 职场文书
小学家长学校培训材料
2014/08/24 职场文书
财务负责人岗位职责
2015/02/03 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python
Javascript webpack动态import
2022/04/19 Javascript