Maison  >  Article  >  développement back-end  >  Explication détaillée des étapes pour créer des tâches planifiées via les commandes de la console dans le framework Yii

Explication détaillée des étapes pour créer des tâches planifiées via les commandes de la console dans le framework Yii

php中世界最好的语言
php中世界最好的语言original
2018-05-21 09:41:491949parcourir

Cette fois, je vous apporte une explication détaillée des étapes pour créer une tâche planifiée via la commande console dans le framework yii. Quelles sont les précautions pour créer une tâche planifiée via la commande console dans le yii. framework. Ce qui suit est un cas pratique. Jetons un coup d'œil une fois.

Supposons que le chemin du projet Yii soit /home/apps/
1, créez le fichier /home/apps/protected/commands/crons.php

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

2 , créer Le fichier de configuration requis /home/apps/protected/config/console.php est utilisé pour configurer les composants requis, les connexions à la base de données, les journaux et d'autres informations. Le format est similaire au fichier de configuration principal main. php.

<?php  return array(     &#39;basePath&#39;=>dirname(FILE).DIRECTORY_SEPARATOR.&#39;..&#39;,    &#39;name&#39;=>&#39;Emergency&#39;,    &#39;import&#39;=>array(              &#39;application.models.*&#39;,            &#39;application.components.*&#39;,             &#39;application.extensions.*&#39;,    ),    &#39;components&#39;=>array(        &#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;info, warning, error&#39;,                ),            ),        ),         &#39;db&#39;=>array(            &#39;class&#39;=>&#39;application.extensions.PHPPDO.CPdoDbConnection&#39;,            &#39;pdoClass&#39; => &#39;PHPPDO&#39;,            &#39;connectionString&#39; => &#39;mysql:host=xxxx;dbname=xxx&#39;,            &#39;emulatePrepare&#39; => true,            &#39;username&#39; => &#39;xxx&#39;,            &#39;password&#39; => &#39;xxx&#39;,            &#39;charset&#39; => &#39;utf8&#39;,            &#39;tablePrefix&#39; => &#39;tbl_&#39;,        ),    ), 
    &#39;params&#39; => require(&#39;params.php&#39;),);

3. Créez une nouvelle classe TestCommand sous /home/apps/protected/commands/ et héritez de CConsoleCommand, vous pouvez utiliser les informations de configuration du projet et les différentes méthodes de Yii.

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

4, créez une tâche planifiée
$ crontab -e
Le contenu est :
1 * * * * /home/php/bin/ php - f /home/apps/protected/commands/crons.php Test & consiste à exécuter le contenu de la classe TestCommand dans la première minute de chaque heure. De même, vous pouvez créer d'autres classes sous /home/apps/. protected/commands/ , exécutez en utilisant la ligne de commande.

Pour l'utilisation de crontab, vous pouvez vous référer à :

bases et exemples de la commande crontab Quelques exemples de commandes crontab Explication détaillée de la crontab d'installation de Linux notes d'étude crontab Apprenez la commande crontab pour configurer des tâches planifiées sous Linux Format de commande Crontab et exemples Configuration des tâches planifiées Linux, apprentissage crontab Bon tutoriel crontab

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Explication détaillée du cas d'utilisation de la balise volist dans thinkphp

Explication détaillée des étapes pour imprimer des arbres binaires dans l'ordre en forme de Z en PHP

Pensez à PHP quelles sont les précautions lors de l'utilisation de la balise volist en ajax

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