In diesem Tutorial zeige ich Ihnen, wie wir Cron-Jobs in Laravel ausführen können, aber darüber hinaus möchten wir die Dinge für unsere Schüler einfach und unkompliziert halten. Wir würden untersuchen, wie Sie diese automatisierten Aufgaben direkt auf Ihrem eigenen Computer einrichten und ausführen können, während wir unsere Laravel-App erstellen.
Zuerst einmal: Was genau ist ein Cron-Job? Betrachten Sie es als einen persönlichen Assistenten für Ihre Website – einen, der niemals schläft und immer pünktlich erscheint. Es handelt sich um eine Aufgabe, die Sie so planen, dass sie zu bestimmten Zeiten automatisch ausgeführt wird. In Laravel verwenden wir diese, um sich wiederholende Aufgaben zu erledigen, die dafür sorgen, dass unsere Anwendung reibungslos läuft.
Jetzt fragen Sie sich vielleicht: „Wie bringe ich diese Cron-Jobs auf meinem eigenen Computer zum Laufen?“ Wir werden dies Schritt für Schritt durchgehen, und am Ende würden Sie Aufgaben wie ein Profi planen.
Beginnen wir mit dem Herzstück des Planungssystems von Laravel – der Datei app/Console/Kernel.php. Hier geschieht die Magie. Wenn Sie diese Datei öffnen, sehen Sie eine Methode namens „Zeitplan“. Dies ist Ihr Spielplatz zum Einrichten von Aufgaben. So könnte es aussehen:
protected function schedule(Schedule $schedule) { $schedule->command('emails:send')->daily(); }
In diesem Beispiel würden wir Laravel sagen: „Hey, ich möchte, dass du jeden Tag E-Mails verschickst.“ So einfach ist das! Laravel bietet Ihnen unzählige Optionen für die Ausführung Ihrer Aufgaben. Sie können sie jede Stunde, einmal pro Woche oder sogar alle fünf Minuten ausführen, wenn Sie möchten.
Jetzt wird es etwas knifflig. Auf einem echten Webserver gibt es ein System, das diese geplanten Aufgaben automatisch ausführt. Aber auf Ihrem eigenen Computer müssen wir etwas kreativ werden.
Laravel gibt uns einen praktischen Befehl, um unsere geplanten Aufgaben manuell auszuführen. Sie können dies in Ihr Terminal eingeben:
php artisan schedule:run
Dieser Befehl ist so, als würde man sagen: „Führen Sie alle Aufgaben aus, die jetzt fällig sind.“ Aber seien wir ehrlich, Sie möchten doch nicht dasitzen und diesen Befehl immer und immer wieder eingeben, oder?
Hier ist also ein toller Trick. Wir können ein einfaches Skript erstellen, das diesen Befehl jede Minute für uns ausführt. Es ist, als ob Sie einen kleinen Roboterassistenten auf Ihrem Computer hätten. So könnte dieses Skript aussehen:
#!/bin/bash while true do php /path/to/your/project/artisan schedule:run >> /dev/null 2>&1 sleep 60 done
Lass dich davon nicht abschrecken! Es bedeutet lediglich, dass Ihr Computer alle 60 Sekunden den Befehl „schedule:run“ ausführen soll. Sie würden dies als .sh-Datei speichern und im Hintergrund ausführen, während Sie an Ihrem Projekt arbeiten.
Während Sie Ihre geplanten Aufgaben testen, ist es eine gute Idee, eine Protokollierung hinzuzufügen. Auf diese Weise können Sie sehen, was hinter den Kulissen passiert. Es ist, als würde man eine Spur aus Brotkrumen für sich selbst hinterlassen.
Denken Sie daran, dass dieses Setup ideal ist, wenn Sie Ihre App auf Ihrem eigenen Computer erstellt und getestet haben. Wenn Sie bereit sind, Ihre Website tatsächlich zu starten, müssen Sie die Dinge auf Ihrem Webserver etwas anders einrichten.
Der Erfinder von Laravel, Taylor Otwell, sagte einmal: „Aufgabenplanung ist ein entscheidender Aspekt der modernen Webentwicklung, der es Entwicklern ermöglicht, sich wiederholende Aufgaben zu automatisieren und die Gesamteffizienz ihrer Anwendungen zu verbessern.“ Er hat absolut recht! Indem Sie geplante Aufgaben meistern, machen Sie einen großen Schritt in Richtung der Entwicklung leistungsfähigerer und effizienterer Webanwendungen.
Da haben Sie es also! Sie sind jetzt in der Lage, Cron-Jobs auf Ihrem eigenen Computer einzurichten und auszuführen, während Sie Ihre Laravel-App erstellen. Es mag auf den ersten Blick etwas komplex erscheinen, aber mit der Übung werden Sie feststellen, dass es Ihnen in Fleisch und Blut übergeht. Experimentieren Sie weiter, und bevor Sie es merken, werden Sie Aufgaben wie ein erfahrener Profi planen!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3