首頁  >  文章  >  後端開發  >  在Yii中創建cronjob定時任務的實例詳解

在Yii中創建cronjob定時任務的實例詳解

巴扎黑
巴扎黑原創
2018-05-17 10:54:381383瀏覽

這篇文章主要介紹了Yii框架創建cronjob定時任務的方法,結合具體實例形式分析了Yii定時任務相關配置、實現步驟與注意事項,需要的朋友可以參考下

本文實例講述了Yii框架創建cronjob定時任務的方法。分享給大家參考,如下:

1. 新增環境配置

#protected/config/console.php

<?php
require_once(&#39;env.php&#39;);
// This is the configuration for yiic console application.
// Any writable CConsoleApplication properties can be configured here.
return array(
  &#39;basePath&#39;=>dirname(__FILE__).DIRECTORY_SEPARATOR.&#39;..&#39;,
  &#39;name&#39;=>&#39;CMS Console&#39;,
  // application components
  &#39;components&#39;=>array(
    //Main DB connection
    &#39;db&#39;=>array(
      &#39;connectionString&#39;=>DB_CONNECTION,
      &#39;username&#39;=>DB_USER,
      &#39;password&#39;=>DB_PWD,
      &#39;enableParamLogging&#39;=>true,
    ),
    &#39;log&#39;=>array(
      &#39;class&#39;=>&#39;CLogRouter&#39;,
      &#39;routes&#39;=>array(
        array(
          &#39;class&#39;=>&#39;CFileLogRoute&#39;,
          &#39;levels&#39;=>&#39;error, warning&#39;,
        ),
      ),
    ),
  ),
);


### 2. 新增定時任務執行模組#########protected/commands/crons.php###
<?php
defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;,true);
// including Yii
require_once(&#39;/../framework/yii.php&#39;);
// we&#39;ll use a separate config file
$configFile=&#39;/config/console.php&#39;;
// 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中創建cronjob定時任務的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn