Maison >développement back-end >tutoriel php >Explication détaillée d'exemples de création de tâches planifiées cronjob dans Yii

Explication détaillée d'exemples de création de tâches planifiées cronjob dans Yii

巴扎黑
巴扎黑original
2018-05-17 10:54:381450parcourir

Cet article présente principalement la méthode de création de tâches planifiées cronjob dans le framework Yii et analyse la configuration associée, les étapes de mise en œuvre et les précautions des tâches planifiées Yii sous la forme d'exemples spécifiques. Les amis dans le besoin peuvent se référer aux exemples de cet article.

Décrit comment le framework Yii crée des tâches planifiées cronjob. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. Ajouter la configuration de l'environnement

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. Ajouter un module d'exécution de tâches planifiées

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. 🎜>

Une tâche planifiée est généralement un programme en ligne de commande, dérivé de la classe CConsoleCommand, tel que

protected/commands/TestCommand.php

class TestCommand extends CConsoleCommand
{
  public function run($args) {
    //todo
  }
}

4. Créez un cronjob

30 0 * * * www php /path/to/crons.php Test >>/path/to/logs/test.log

5. Transmettez les paramètres à exécuter ($params) dans la tâche planifiée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn