Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie geplante Aufgaben in Laravel

So implementieren Sie geplante Aufgaben in Laravel

小云云
小云云Original
2018-01-30 10:14:022647Durchsuche

Geplante Aufgaben sind eine sehr häufige Anforderung im Back-End-Entwicklungsprozess und tauchen häufig in Datenstatistiken, Spam-Bereinigung und anderen Szenarien auf. Laravel bietet einen vollständigen Satz geplanter Aufgabentools, sodass wir uns nur auf die Vervollständigung der Logik konzentrieren müssen und den Rest der grundlegenden Arbeit erledigen.

In diesem Artikel wird hauptsächlich der Beispielcode für die Implementierung geplanter Aufgaben in Laravel vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Befehl generieren


php artisan make:command AreYouOK

5.2 und frühere Versionen, dieser Befehl lautet „php artisan make:console xxx“

Befehle bearbeiten

Bearbeiten Sie die Datei „app/Console/Commands/AreYouOK.php“ und nehmen Sie die folgenden Änderungen vor:


... ...
protected $signature = 'areyou:ok'; // 命令名称
protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用

public function __construct()
{
  parent::__construct();
  // 初始化代码写到这里,也没什么用
}
public function handle()
{
  // 功能代码写到这里
}

Registrierungsbefehl

Bearbeiten Sie die Datei „app/Console/Kernel.php“ und registrieren Sie die neu generierte Klasse:


protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];

Schreiben Sie die Aufruflogik:


protected function schedule(Schedule $schedule)
{
  $schedule->command('areyou:ok')
       ->timezone('Asia/Shanghai')
       ->everyMinute();
}

Die obige Logik wird einmal pro Minute aufgerufen. Laravel stellt Zeitfunktionen unterschiedlicher Länge von einer Minute bis zu einem Jahr zur Verfügung, die direkt aufgerufen werden können.

Registrieren Sie dieses Laravel-Projekt im Cron des Systems

Bearbeiten Sie die Datei „/etc/crontab“ und fügen Sie den folgenden Code hinzu:

Kopieren Sie den Code Der Code lautet wie folgt:


* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan scheme:run >> /null 2> &1

`/var/www/xxxlaravel` in der obigen Zeile muss in den tatsächlichen Pfad geändert werden.

Feuer

Cron neu starten, um diese Funktion zu aktivieren: `systemctl restart crond.service`, fertig!

Verwandte Empfehlungen:

JS implementiert geplante Aufgaben, um alle N Sekunden Hintergrund-SetInterval-Timing und Ajax-Anforderungsprobleme anzufordern

NodeJs-Beispielcode zum Implementieren geplanter Aufgaben

So erhalten Sie WeChat access_token von PHP für geplante Aufgaben

Das obige ist der detaillierte Inhalt vonSo implementieren Sie geplante Aufgaben in Laravel. 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