Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erläuterung von Beispielen für die Erstellung geplanter Cronjob-Aufgaben in Yii

Ausführliche Erläuterung von Beispielen für die Erstellung geplanter Cronjob-Aufgaben in Yii

巴扎黑
巴扎黑Original
2018-05-17 10:54:381417Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Erstellen geplanter Cronjob-Aufgaben im Yii-Framework vorgestellt und die entsprechende Konfiguration, Implementierungsschritte und Vorsichtsmaßnahmen für geplante Yii-Aufgaben anhand konkreter Beispiele analysiert

Beschreibt, wie das Yii-Framework geplante Cronjob-Aufgaben erstellt. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Umgebungskonfiguration hinzufügen

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. Fügen Sie ein geplantes Aufgabenausführungsmodul hinzu

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();

Fügen Sie eine bestimmte geplante Aufgabe hinzu

Eine geplante Aufgabe ist normalerweise ein Befehlszeilenprogramm, abgeleitet von der CConsoleCommand-Klasse, wie z. B.
protected/commands/TestCommand.php

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

4. Erstellen Sie einen Cronjob

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

5. Übergeben Sie die Parameter zur Ausführung ($params) in der geplanten Aufgabe

30 0 * * * www php /path/to/crons.php Test param1 param2 ...

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für die Erstellung geplanter Cronjob-Aufgaben in Yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn