首页 php教程 php手册 Yii通过控制台命令创建定时任务

Yii通过控制台命令创建定时任务

Jun 13, 2016 am 09:39 AM
aspnet 软件编程

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

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

<?<span php

</span><span $yii</span> = '/home/apps/framework/yii.php'<span ;

</span><span require_once</span>(<span $yii</span><span );  

</span><span $configFile</span> = <span dirname</span>(<span __FILE__</span>).'/../config/console.php'<span ;

Yii</span>::createConsoleApplication(<span $configFile</span>)->run(); 
登录后复制

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

<?<span php  
</span><span return</span> <span array</span><span ( 
    </span>'basePath'=><span dirname</span>(<span __FILE__</span>).DIRECTORY_SEPARATOR.'..', 

    'name'=>'Emergency',

    'import'=><span array</span><span (  
            </span>'application.models.*',
            'application.components.*', 
            'application.extensions.*',<span 
    )</span>, 

    'components'=><span array</span><span (
        </span>'log'=><span array</span><span (
            </span>'class'=>'CLogRouter',
            'routes'=><span array</span><span (
                </span><span array</span><span (
                    </span>'class'=>'CFileLogRoute',
                    'levels'=>'info, warning, error',<span 
                )</span>,<span 
            )</span>,<span 
        )</span>, 
        'db'=><span array</span><span (
            </span>'class'=>'application.extensions.PHPPDO.CPdoDbConnection',
            'pdoClass' => 'PHPPDO',
            'connectionString' => 'mysql:host=xxxx;dbname=xxx',
            'emulatePrepare' => <span true</span>,
            'username' => 'xxx',
            'password' => 'xxx',
            'charset' => 'utf8',
            'tablePrefix' => 'tbl_',<span 
        )</span>,<span 
    )</span>,  
        
    'params' => <span require</span>('params.php'),<span 
);</span>
登录后复制

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

<?<span php  
</span><span class</span> TestCommand  <span extends</span><span  CConsoleCommand  
{  
    </span><span public</span> <span function</span><span  run()
    {  
        </span>...<span 
    }  
}</span>
登录后复制

4. 创建定时任务

$ crontab -e
登录后复制

插入

1 * * * * /home/php/bin/php -f /home/apps/<span protected</span>/commands/crons.php Test &
登录后复制

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

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Vue.js与ASP.NET的结合,实现Web应用的性能优化和扩展的技巧和建议 Vue.js与ASP.NET的结合,实现Web应用的性能优化和扩展的技巧和建议 Jul 29, 2023 pm 05:19 PM

Vue.js与ASP.NET的结合,实现Web应用的性能优化和扩展的技巧和建议

ASP.NET程序中的MySQL连接池使用及优化技巧 ASP.NET程序中的MySQL连接池使用及优化技巧 Jun 30, 2023 pm 11:54 PM

ASP.NET程序中的MySQL连接池使用及优化技巧

生成式AI将在十个方面改变软件开发 生成式AI将在十个方面改变软件开发 Mar 11, 2024 pm 12:10 PM

生成式AI将在十个方面改变软件开发

Vue.js与ASP.NET的结合,实现企业级应用的开发和部署 Vue.js与ASP.NET的结合,实现企业级应用的开发和部署 Jul 29, 2023 pm 02:37 PM

Vue.js与ASP.NET的结合,实现企业级应用的开发和部署

如何在ASP.NET程序中重连MySQL连接? 如何在ASP.NET程序中重连MySQL连接? Jun 29, 2023 pm 02:21 PM

如何在ASP.NET程序中重连MySQL连接?

如何在ASP.NET程序中正确配置和使用MySQL连接池? 如何在ASP.NET程序中正确配置和使用MySQL连接池? Jun 29, 2023 pm 12:56 PM

如何在ASP.NET程序中正确配置和使用MySQL连接池?

在Linux上使用Visual Studio进行ASP.NET开发的推荐配置 在Linux上使用Visual Studio进行ASP.NET开发的推荐配置 Jul 06, 2023 pm 08:45 PM

在Linux上使用Visual Studio进行ASP.NET开发的推荐配置

aspnet有哪些内置对象 aspnet有哪些内置对象 Nov 21, 2023 pm 02:59 PM

aspnet有哪些内置对象

See all articles