Heim  >  Artikel  >  PHP-Framework  >  Laravel-Entwicklung: Wie plant man Aufgaben mit Laravel Task Scheduling?

Laravel-Entwicklung: Wie plant man Aufgaben mit Laravel Task Scheduling?

王林
王林Original
2023-06-13 14:23:291418Durchsuche

Laravel ist ein beliebtes PHP-Framework, das großartige Unterstützung für die Entwicklung von Webanwendungen bietet. Eine der leistungsstarken und nützlichen Funktionen ist Laravel Task Scheduling. In diesem Artikel wird erläutert, wie Sie mit Laravel Task Scheduling geplante Aufgaben ausführen.

1. Was ist Laravel-Aufgabenplanung?

Laravel Task Scheduling ist eine vom Framework bereitgestellte Methode zur Ausführung geplanter Aufgaben. Sie können damit verschiedene geplante Aufgaben einrichten, z. B. die stündliche, tägliche, wöchentliche oder monatliche Ausführung einer Funktion oder eines Skripts, ohne diese manuell ausführen zu müssen. Dies ist in verschiedenen Webanwendungen sehr nützlich, zum Beispiel: Sie müssen täglich Daten sichern, einen wöchentlichen Newsletter versenden usw.

Die Verwendung von Laravel Task Scheduling macht das Schreiben und Planen dieser geplanten Aufgaben relativ einfach und macht den Code sauber und effizient.

2. Wie verwende ich die Aufgabenplanung in Laravel?

1. Geplante Aufgaben registrieren

Um Laravel Task Scheduling zu verwenden, müssen Sie zunächst einige Konfigurationen vornehmen. Öffnen Sie die Datei app/Console/Kernel.php und fügen Sie der Zeitplanmethode eine geplante Aufgabe hinzu. Alle geplanten Aufgaben der Zeitplanfunktion können in dieser Methode registriert werden.

/**

  • Definieren Sie den Befehlsplan der Anwendung.
    *
  • @return void
    */

protected function scheme(Schedule $schedule)
{

//每天凌晨执行任务
$schedule->call(function () {
    DB::table('recent_users')->delete();
})->daily();

}

In diesem Beispiel haben wir eine anonyme Funktion erstellt, die einige andere Methoden zum Löschen von „Daten im“ aufruft „Recent_users“-Datenbanktabelle. Diese Aufgabe soll einmal jeden Morgen ausgeführt werden.

2. Planung starten

Um geplante Aufgaben zu starten, können Sie crontab auf dem Server verwenden. Allerdings bietet LaravelTask ​​​​Scheduling eine praktische Befehlszeilenmethode, um diese Aufgaben im Hintergrund zu starten.

Geben Sie im Terminalfenster das Stammverzeichnis der Laravel-Anwendung ein und geben Sie den folgenden Befehl ein:

php artisan scheme:run

Dieser Befehl startet einen Hintergrundprozess, um die zuvor festgelegten geplanten Aufgaben zu planen. Wenn geplante Aufgaben vorhanden sind, werden diese regelmäßig ausgeführt.

3. Geplante Aufgaben hinzufügen

Es ist relativ einfach, geplante Aufgaben in Laravel hinzuzufügen. Fügen Sie einfach einige neue Aufgaben zur Zeitplanmethode hinzu. Beispielsweise kann die folgende Funktion zum Zeitplan hinzugefügt werden:

/**

  • Registrieren Sie die Befehle für die Anwendung.
    *
  • @return void
    */

protected function commands()
{

$this->load(__DIR__.'/Commands');

require base_path('routes/console.php');

}

$schedule->command('emails:send' , ['--force'])->daily();

Dieser Befehl verwendet den Parameter --force, um die Ausführung des an den Befehlsplaner übergebenen Befehls zu erzwingen. In diesem Beispiel wird der Befehl nur jede Nacht ausgeführt.

3. Fazit

Laravel Task Scheduling ist eine leistungsstarke Funktion im Laravel-Framework, die Ihnen helfen kann, das Schreiben und Planen geplanter Aufgaben zu vereinfachen. Mit dieser Funktion können Sie einige wichtige Aufgaben ganz einfach automatisieren und sicherstellen, dass sie innerhalb einer geplanten Zeit ausgeführt werden. Wenn Sie nach einer zuverlässigen Möglichkeit suchen, Aufgaben zu planen, ist Laravel Task Scheduling eine Option, die einen Versuch wert ist.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie plant man Aufgaben mit Laravel Task Scheduling?. 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