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 和 XML: 使用expat函数(二)
Oct 09 PHP
php 无限级 SelectTree 类
May 19 PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
php 操作调试的方法
Jul 12 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
三种php连接access数据库方法
Nov 11 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
php7性能提升的原因详解
Oct 13 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 调试工具Debug Tools
2011/04/30 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python编程实现正则删除命令功能
2017/08/30 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Python requests模块session代码实例
2020/04/14 Python
python可以用哪些数据库
2020/06/22 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
消防应急演练方案
2014/02/12 职场文书
产品销售计划书
2014/05/04 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
电影雷锋观后感
2015/06/10 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
七年级上册生物的课件
2019/08/07 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
浅谈Redis的事件驱动模型
2022/05/30 Redis