Laravel ist ein beliebtes PHP-Webentwicklungs-Framework, das viele praktische Funktionen und Tools für die schnelle Entwicklung von Webanwendungen bietet. Laravel verfügt auch über eine Funktion zum Planen von Aufgaben, die es Entwicklern ermöglicht, einige periodische Aufgaben zu automatisieren. Diese Funktion wird als „Aufgabenplanung“ bezeichnet.
Aufgabenplanung bietet eine einfache, aber leistungsstarke Möglichkeit, regelmäßig laufende Aufgaben in Laravel zu verwalten. Laravel bietet einen Scheduler, der automatisch eine bestimmte PHP-Methode zu einem vorgegebenen Zeitpunkt aufrufen kann. Diese Methode kann eine Methode zum Aufrufen eines Controllers oder zum Ausführen eines Artisan-Befehls sein. Dies ermöglicht es Entwicklern, Aufgaben einfach zu planen, ohne sich Gedanken darüber machen zu müssen, wann Aufgaben ausgeführt werden oder ob sie in der richtigen Anzahl ausgeführt werden.
Die Aufgabenplanungsfunktion von Laravel ist sehr einfach zu verwenden. Sie müssen nur die Aufgaben definieren, die in der Zeitplanmethode der Kernel-Klasse ausgeführt werden müssen. Hier ist ein einfaches Beispiel:
// app/Console/Kernel.php protected function schedule(Schedule $schedule) { $schedule->call(function () { // 这是要运行的任务逻辑 })->dailyAt('02:00'); }
Im obigen Code führt der Aufgabenplaner jeden Tag um 2 Uhr morgens eine anonyme Funktion aus. In dieser anonymen Funktion können Sie die Aufgabenlogik schreiben, die Sie ausführen müssen, und natürlich können Sie auch Controller-Methoden, Artisan-Befehle usw. aufrufen.
Neben der dailyAt-Methode bietet Laravel auch viele andere Planungsmethoden an, z. B. stündlich, zweimal täglich, wöchentlich, monatlich usw. Mit diesen Methoden können Sie die Ausführungshäufigkeit von Aufgaben genauer festlegen.
Gleichzeitig unterstützt die Aufgabenplanung von Laravel auch die Planung auf Basis von Cron-Ausdrücken, was bedeutet, dass Sie eine detailliertere Kontrolle über die spezifische Ausführungszeit des Aufgabenplaners haben können. Das Folgende ist ein Beispiel für die Verwendung von Cron zum Planen von Aufgaben:
// app/Console/Kernel.php protected function schedule(Schedule $schedule) { $schedule->command('my:task') ->cron('* * * * *'); }
Im obigen Code verwenden wir die Cron-Methode, um die Ausführungszeit der Aufgabe anzugeben. Das Format des Cron-Ausdrucks ist:
rrreeIn diesem Beispiel legen wir die Aufgabe fest, die jede Minute ausgeführt werden soll. Dies ist auch ein Testfall. In tatsächlichen Situationen müssen Sie den Cron-Ausdruck entsprechend den tatsächlichen Anforderungen festlegen.
Zusätzlich zum Definieren geplanter Aufgaben in der Kernel-Klasse können Sie geplante Aufgaben auch in jeder Klasse planen, indem Sie die Scheduler-Klasse von Laravel aufrufen. Das Folgende ist ein Beispiel für den Aufruf einer geplanten Aufgabe in einem Controller:
* * * * * * - - - - - - | | | | | | | | | | | +----- day of the week (0 - 6) (Sunday=0) | | | | +---------- month (1 - 12) | | | +--------------- day of the month (1 - 31) | | +-------------------- hour (0 - 23) | +------------------------- minute (0 - 59) +------------------------------ second (0 - 59) [可选]
Im obigen Code platzieren wir die Planungslogik in der Indexmethode der MyController-Klasse und erhalten die Scheduler-Instanz durch Abhängigkeitsinjektion. Der Effekt dieses Beispiels ist derselbe wie die Methode zum Planen von Aufgaben in der Kernel-Klasse.
Im Allgemeinen bietet die Aufgabenplanungsfunktion von Laravel eine sehr einfache und leistungsstarke Funktion zum regelmäßigen Aufrufen von Methoden. Durch einfache Konfiguration kann die automatisierte Ausführung vieler periodischer Aufgaben realisiert werden, sodass sich Entwickler mehr auf die Geschäftslogik konzentrieren können Sorgen Sie sich um die Implementierungsdetails der Aufgabenplanung.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine geplante Methodenaufruffunktion in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!