ホームページ > バックエンド開発 > PHPチュートリアル > yii フレームワークはコンソール コマンドを使用してスケジュールされたタスクをどのように作成しますか?

yii フレームワークはコンソール コマンドを使用してスケジュールされたタスクをどのように作成しますか?

WBOY
リリース: 2016-07-25 09:12:56
オリジナル
982 人が閲覧しました

Yii プロジェクトのパスが /home/apps/ であると仮定します。 1. /home/apps/protected/commands/crons.php ファイルを作成します

  1. $yii = '/home/apps/framework/yii.php';
  2. require_once($yii);
  3. $configFile = dirname(__FILE__).'/../config/ console.php';
  4. Yii::createConsoleApplication($configFile)->run();
コードをコピー
2、必要な構成ファイル/home/apps/protected/config/console.phpを作成し、configure必要なコンポーネント、データベース接続、ログ、およびその他の情報は、メイン構成ファイル main.php と同様の形式になっています。

  1. return array(

  2. 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
  3. 'name'=>'緊急',
  4. 'import'=>array(
  5. 'application.models.*',
  6. 'application.components.*',
  7. 'application.extensions.*',
  8. ),
  9. 'components'=>array(
  10. 'log '=>array(
  11. 'class'=>'CLogRouter',
  12. 'routes'=>array(
  13. array(
  14. 'class'=>'CFileLogRoute',
  15. 'levels'=>'info,警告、エラー',
  16. ),
  17. ),
  18. ),
  19. 'db'=>array(
  20. 'class'=>'application.extensions.PHPPDO.CPdoDbConnection',
  21. 'pdoClass' => 'PHPPDO' ,
  22. 'connectionString' => 'mysql:host=xxxx;dbname=xxx',
  23. 'emulatePrepare' => true,
  24. 'username' => 'password' => ,
  25. 'charset' => 'utf8',
  26. 'tablePrefix' => 'tbl_',
  27. ),

  28. 'params. php'),

  29. );

  30. コードをコピー
3、/home/apps/protected/commands/の下に新しいTestCommandクラスを作成し、CConsoleCommandを継承し、TestCommandでプロジェクトを使用できますYii の設定情報と各種メソッド。

class TestCommand extends CConsoleCommand
  • {
  • public function run()
  • {
  • ...
  • }
  • }
  • コードをコピー
  • 4、スケジュールされたタスクを作成 $crontab-e 内容は次のとおりです。 1 * * * * /home/php/bin/php -f /home/apps/protected/commands/crons.php テストと
    つまり、TestCommand クラスの内容は毎時間の最初の 1 分に実行されます。同様に、他のクラスも /home/apps/protected/commands/ に作成し、コマンド ラインを使用して実行できます。

    crontabの使い方についてはこちらをご参照ください

    crontab コマンドの基本と例

      crontab コマンドのいくつかの例
    • Linuxインストールcrontabの詳しい説明
    • crontabの勉強ノート
    • Linux でスケジュールされたタスクを設定するための crontab コマンドを学習します
    • crontabコマンドの形式と例
    • Linuxスケジュールタスク設定crontab学習
    • 良い crontab チュートリアル
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート