Detaillierte Erklärung, wie Laravel geplante Aufgaben umsetzt

*文
Freigeben: 2023-03-19 08:06:01
Original
2378 Leute haben es durchsucht

Wie implementiert Laravel geplante Aufgaben? 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, um einen Blick darauf zu werfen. Ich hoffe, es wird für alle hilfreich sein.

Einführung

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.

Grundlegende Verwendung

Befehl generieren

php artisan make:command AreYouOK
Nach dem Login kopieren

5.2 und frühere Versionen, dieser Befehl ist `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()
{
  // 功能代码写到这里
}
Nach dem Login kopieren

Registrierungsbefehl

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

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];
Nach dem Login kopieren

Schreiben Sie die Aufruflogik:

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

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:

* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1
Nach dem Login kopieren

„/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:

Detaillierte Erklärung, wie Laravel Supervisor implementiert, um asynchrone Prozesse auszuführen

Ausführliche Erklärung der Aufgabenplanungskonsole von Laravel

Detaillierte Erklärung, wie das Laravel-Ereignissystem zur Implementierung der Anmeldung verwendet wird Protokolle

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Laravel geplante Aufgaben umsetzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage