Heim >PHP-Framework >Laravel >So richten Sie geplante Aufgaben in Laravel ein

So richten Sie geplante Aufgaben in Laravel ein

PHPz
PHPzOriginal
2023-04-19 10:08:464090Durchsuche

Laravel ist ein Open-Source-Webanwendungs-Framework, das auf PHP basiert. Es vereinfacht gängige Webentwicklungsaufgaben wie Routing, Sitzungsverwaltung, Authentifizierung und mehr erheblich. Laravel bietet außerdem ein Tool namens Task Scheduler an, mit dem Benutzer Programmcode problemlos zu einem bestimmten Zeitpunkt ausführen können. In diesem Artikel wird der Aufgabenplaner von Laravel vorgestellt und erläutert, wie man geplante Aufgaben einrichtet.

Was ist Laravel Task Scheduler?

Task Scheduler ist Teil des Laravel-Frameworks, das es Benutzern ermöglicht, Programmcode zu einem bestimmten Zeitpunkt automatisch auszuführen. Dabei kann es sich um ein einmaliges oder wiederkehrendes Intervallereignis handeln. Der Taskplaner bietet verschiedene Möglichkeiten zum Verwalten geplanter Aufgaben und erleichtert so die Verwendung und Fehlerbehebung. In Laravel verwendet der Aufgabenplaner ein Objekt namens „Scheduler“, um geplante Aufgaben zu verwalten.

Aufgabenplaner in Laravel

Der Aufgabenplaner von Laravel verwendet die folgenden drei Hauptkomponenten:

Scheduler

Scheduler ist die Kernkomponente des Aufgabenplaners. Es handelt sich um ein Objekt, das für die Planung und Verwaltung geplanter Aufgaben verantwortlich ist. Der Planer bietet eine einfache Möglichkeit, Aufgaben Zeitplänen und Zeiträumen zuzuordnen. Sobald eine Aufgabe zugewiesen wurde, ist der Planer dafür verantwortlich, dass sie zum festgelegten Zeitpunkt ausgeführt wird. Der Scheduler unterstützt mehrere Aufgabentypen, einschließlich Befehle, Schließungen und Methodenaufrufe.

Zeitplan

Ein Zeitplan ist ein Objekt, mit dem die Ausführungszeit einer geplanten Aufgabe angegeben wird. Zeitpläne bieten eine intuitive Möglichkeit, anzugeben, wann Aufgaben ausgeführt werden sollen. Planer können Aufgaben bestimmten Zeitplänen zuweisen, um sicherzustellen, dass Aufgaben innerhalb der geplanten Zeit ausgeführt werden.

Listener

Ein Listener ist ein Objekt, das für die Aufzeichnung der Ausführungsergebnisse geplanter Aufgaben verantwortlich ist. Wenn eine Aufgabe abnormal ist oder nicht wie geplant ausgeführt wird, zeichnet der Listener relevante Ereignisse auf. Dies hilft Benutzern zu bestimmen, wann das Aufgaben-Timing geändert oder andere Einstellungen angepasst werden sollten.

So richten Sie eine geplante Laravel-Aufgabe ein

Um eine geplante Aufgabe in Laravel einzurichten, müssen Sie die folgenden Schritte ausführen:

Schritt 1: Erstellen Sie einen Controller und einen Befehl.

Zuerst müssen Sie einen Controller und einen Befehl erstellen, der dies tut die eigentliche Arbeit ausführen. In diesem Beispiel erstellen wir einen „TaskController“-Controller und weisen ihm einen „TaskCommand“-Befehl zu.

php artisan make:controller TaskController
php artisan make:command TaskCommand

Schritt 2: Bearbeiten Sie den Befehl

Öffnen Sie die Datei TaskCommand.php und aktualisieren Sie die „Fire“-Methode, damit die eigentliche Aufgabe ausgeführt wird. In diesem Beispiel richten wir die Aufgabe ein, den aktuellen Zeitstempel in eine Datei zu schreiben.

public function fire()
{
    file_put_contents(storage_path().'/task.log', time(). "\n", FILE_APPEND);
}

Schritt 3: Scheduler-Aufgabe erstellen

Öffnen Sie die Datei app/Console/Kernel.php und fügen Sie eine neue Aufgabe hinzu. In diesem Beispiel legen wir fest, dass die Aufgabe jede Minute ausgeführt wird.

protected function schedule(Schedule $schedule)
{
    $schedule->command('task')->everyMinute();
}

Schritt 4: Führen Sie die Aufgabe aus

Abschließend können Sie den Aufgabenplaner mit dem folgenden Befehl ausführen:

php artisan schedule:run

Dieser Befehl scannt den Laravel-Aufgabenplaner und führt die Aufgaben aus, die ausgeführt werden müssen.

Fazit

Mit dem Laravel Task Scheduler können Sie wiederkehrende Aufgaben ganz einfach und regelmäßig ausführen. Laravel bietet einen leistungsstarken Aufgabenplaner, der das Einrichten und Verwalten geplanter Aufgaben sehr einfach macht. Wenn Sie eine Aufgabe automatisieren müssen, ist der Laravel Task Scheduler möglicherweise die beste Wahl.

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