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开发中常用的8个小技巧
Aug 27 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
一个非常实用的php文件上传类
Jul 04 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 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 和 MySQL 基础教程(三)
2006/10/09 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
JQuery live函数
2010/12/24 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
JavaScript模块详解
2017/12/18 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
利用Psyco提升Python运行速度
2014/12/24 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
搞笑车尾标语
2014/06/23 职场文书
入党积极分子群众意见
2015/06/01 职场文书
欢迎新生标语2015
2015/07/16 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript