zoukankan      html  css  js  c++  java
  • Yii通过控制台命令创建定时任务

    假设Yii项目路径为 /home/apps/

    1. 创建文件 /home/apps/protected/commands/crons.php

    <?php
    
    $yii = '/home/apps/framework/yii.php';
    
    require_once($yii);  
    
    $configFile = dirname(__FILE__).'/../config/console.php';
    
    Yii::createConsoleApplication($configFile)->run(); 

    2. 创建需要的配置文件 /home/apps/protected/config/console.php,配置需要的组件、数据库连接,日志等信息,格式类似主配置文件main.php

    <?php  
    return array( 
        'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 
    
        'name'=>'Emergency',
    
        'import'=>array(  
                'application.models.*',
                'application.components.*', 
                'application.extensions.*',
        ), 
    
        'components'=>array(
            'log'=>array(
                'class'=>'CLogRouter',
                'routes'=>array(
                    array(
                        'class'=>'CFileLogRoute',
                        'levels'=>'info, warning, error',
                    ),
                ),
            ), 
            'db'=>array(
                'class'=>'application.extensions.PHPPDO.CPdoDbConnection',
                'pdoClass' => 'PHPPDO',
                'connectionString' => 'mysql:host=xxxx;dbname=xxx',
                'emulatePrepare' => true,
                'username' => 'xxx',
                'password' => 'xxx',
                'charset' => 'utf8',
                'tablePrefix' => 'tbl_',
            ),
        ),  
            
        'params' => require('params.php'),
    );

    3. 在 /home/apps/protected/commands/ 下新建 TestCommand 类,继承 CConsoleCommand,在TestCommand中,可以使用项目的配置信息和Yii的各种方法

    <?php  
    class TestCommand  extends CConsoleCommand  
    {  
        public function run()
        {  
            ...
        }  
    }

    4. 创建定时任务

    $ crontab -e

    插入

    1 * * * * /home/php/bin/php -f /home/apps/protected/commands/crons.php Test &

    即为每小时的第一分钟执行TestCommand类中的内容,类似的可以在/home/apps/protected/commands/下新建其他类,使用命令行执行。

  • 相关阅读:
    预警:亚马逊出售的监控摄像机存在预装恶意软件
    opendaylight+openvswitch环境部署
    keepalived+nginx实现高可用
    Huawei ipv6 bgp配置
    F5配置http跳转https
    F5配置ssl卸载
    IBGP路由重分布进IGP路由
    H3C NQA 配置
    Cisco N7K第三方光模块的使用
    Cisco C3850交换机重启后配置无法保存的故障处理
  • 原文地址:https://www.cnblogs.com/zhaobolu/p/3643652.html
Copyright © 2011-2022 走看看