In diesem Artikel wird erläutert, wie die Aufgabenplaner von Laravel verwendet werden, um wiederkehrende Verwaltungsaufgaben auf einem Server zu verwalten, wodurch Artisan -Befehle und Cron nutzt. Lassen Sie uns die Erläuterung rationalisieren:
Schlüsselkonzepte:
crontab
(Konfigurationsdatei). Laravel-Aufgaben sind typischerweise CLI-Mode-PHP-Skripte. php artisan make:console
. Dies erzeugt ein Befehlsklassen -Framework für angepasste Aufgaben. schedule
-Methode der Kernel
-Kläufe (app/console/kernel.php) einfach planen. Unterstützt stündliche, tägliche, wöchentliche, monatliche und kundenspezifische Cron -Zeitpläne. * * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
(läuft jede Minute). Laravel verarbeitet die Frequenz- und Überlappungsprävention. Cron -Grundlagen (kurz):
Cron verwendet einen Fünf-Feld-Ausdruck (Minute, Stunde, Tag des Monats, ein Tag der Woche), um die Planung zu definieren. *
repräsentiert alle Werte. Beispiel: 30 12 * * * command/to/run
(läuft täglich um 12:30 Uhr).
Erstellen von Laravel Artisan -Befehlen:
Ein Befehl erstellen ist einfach:
php artisan make:console HappyBirthday --command=sms:birthday
handle()
in der generierten Befehlsklasse (App/Konsole/Befehle/HappyBirthday.php), um Ihre Aufgabenlogik zu enthalten. Beispiel (Senden von Geburtstags -SMS): public function handle() { $users = User::whereBirthDate(date('m-d'))->get(); foreach ($users as $user) { if ($user->cellphone) { SMS::to($user->cellphone)->msg('Happy Birthday, ' . $user->fname . '!')->send(); } } $this->info('Birthday messages sent!'); }
app/Console/Kernel.php
im $commands
-Array. Planungsbefehle:
Verwenden Sie die Methode schedule
in app/Console/Kernel.php
:
protected function schedule(Schedule $schedule) { $schedule->command('sms:birthday')->daily(); // Runs daily $schedule->command('anotherCommand')->hourly(); // Runs hourly $schedule->command('myTask')->dailyAt('09:30'); // Runs daily at 9:30 AM $schedule->command('weeklyTask')->weekly()->mondays(); // Runs every Monday $schedule->command('customCron')->cron('0 0 * * *'); // Runs daily at midnight (custom Cron expression) $schedule->command('conditionalTask')->daily()->when(function () { return condition(); }); //Conditional execution }
Starten Sie den Scheduler:
Fügen Sie den oben genannten Einzel -Cron -Job zum Crontab Ihres Servers hinzu. Der Scheduler von Laravel verwaltet den Rest.
häufig gestellte Fragen (FAQs):
(Die ursprünglichen FAQs sind gut geschrieben und umfassend; keine Änderungen erforderlich.)
Diese überarbeitete Antwort behält die ursprünglichen Informationen bei und verbessert die Klarheit und Struktur. Die Code -Beispiele sind auch für Lesbarkeit und Best Practices geringfügig verbessert.
Das obige ist der detaillierte Inhalt vonSo richten Sie in Ihrer Laravel -App einen Cron -Job ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!