Inhaltsverzeichnis
1. Einrichten des Schedulers
2. Definieren geplante Aufgaben
3.. Gemeinsame Planungsoptionen
4. Verhindern über Überlappung und Gewährleistung einer einzelnen Serverausführung
5. Ausgang und Protokollierung
6. Testen geplante Aufgaben
Heim PHP-Framework Laravel So verwenden Sie die Aufgabenplanung von Laravel

So verwenden Sie die Aufgabenplanung von Laravel

Aug 31, 2025 am 06:07 AM
laravel Aufgabenplanung

Mit

Laravels Aufgabenplanungssystem können Sie Timing-Aufgaben über PHP definieren und verwalten. Ohne manuell den Server Crontab manuell zu bearbeiten, müssen Sie nur eine Cron-Aufgabe hinzufügen, die einmal pro Minute zum Server ausgeführt wird: * CD /Path-to-Your-Project && Php Artisan-Zeitplan: Run >> /Dev /Dev /Dev /Null 2> & 1 und dann werden alle Tasks die Tasks konfiguriert. 1. Definieren von Aufgaben können Befehls-, Anruf- oder Exec-Methoden verwenden, z. B. $ plan-> Befehl ('E-Mails: Senden')-> Daily (), um tägliche E-Mail-Senden zu erreichen. 2. unterstützt eine Vielzahl von Planungsoptionen wie -> Everyfiveminutes (), -> Dailyat ('10: 00 '), -> Weekly (), -> Wochentagen () und -> TimeZone (' America/New_york ') usw., um die Ausführungszeit genau zu kontrollieren; 3. Verwendung -> ohne überlappend (), um zu verhindern, dass Aufgaben die Ausführung überlappen, und kombinieren Sie -> OnoneServer (), um sicherzustellen, dass sie nur einmal in einer Multi -Server -Umgebung ausgeführt wird und von Redis- oder Datenbank -Cache -Treiberunterstützung abhängt. 4.. Sie können die Ausgabe in die Protokolldatei über -> sendout PutTo () oder -> appendout PutTo () schreiben und -> E -MailOutputonFailure ('admin@example.com '), um E -Mail -Benachrichtigungen bei Fehler zu senden. 5. Sie können PHP-Artisan-Zeitplan verwenden: Manuell ausführen der Scheduler-Ausführung oder verwenden Sie den PHP Artisan-Zeitplan: Liste, um die definierte Aufgabenliste anzuzeigen, um die Konfigurationskorrektheit zu überprüfen und damit eine zentralisierte, leicht zu macht geplante Taskverwaltung zu erreichen.

So verwenden Sie die Aufgabenplanung von Laravel \

Mit Laravels Aufgabenplanungssystem können Sie Cron -Jobs direkt in PHP definieren und verwalten, sodass die automatischen Aufgaben wie das Reinigen von Protokollen, das Senden von E -Mails oder die Synchronisierung von Daten einfacher werden. Anstatt das Crontab des Servers manuell zu bearbeiten, bietet Laravel eine saubere, ausdrucksstarke Syntax, um geplante Aufgaben in Ihrer Anwendung zu definieren.

Hier erfahren Sie, wie Sie die Aufgabenplanung von Laravel effektiv verwenden.


1. Einrichten des Schedulers

Um loszulegen, müssen Sie nur einen Cron -Eintrag auf Ihrem Server hinzufügen. Dieser einzelne Cron -Job ruft jede Minute von Laravel's Scheduler an, das dann überprüft, ob geplante Aufgaben ausgeführt werden sollten.

Fügen Sie diese Zeile dem Crontab Ihres Servers hinzu (verwenden Sie crontab -e , um zu bearbeiten):

 * * * * * cd /path-to-your-project && php Artisan Zeitplan: Run >> /dev /null 2> & 1

Ersetzen Sie /path-to-your-project durch den tatsächlichen Pfad zu Ihrer Laravel-Anwendung.

Sobald dies eingerichtet ist, werden alle Ihre geplanten Aufgaben innerhalb von Laravel verwaltet, insbesondere in der App\Console\Kernel -Klasse.


2. Definieren geplante Aufgaben

Öffnen Sie die Datei app/Console/Kernel.php . In der schedule können Sie alle Ihre wiederkehrenden Befehle definieren.

Lassen Sie uns beispielsweise einen Handwerksbefehl planen, um täglich auszuführen:

 geschützter Funktionsplan (Zeitplan $ Zeitplan)
{
    $ plan-> command ('E-Mails: send')-> täglich ();
}

Sie können auch Schließungen planen:

 $ plan-> call (function () {
    // Cache löschen oder Reinigung durchführen
    \ Cache :: flush ();
})-> stündlich ();

Oder Shell -Befehle ausführen:

 $ plan-> exec ('rm /tmp /*. tmp')-> täglich ();

3.. Gemeinsame Planungsoptionen

Laravel bietet viele Methoden zur Kontrolle, wenn eine Aufgabe ausgeführt wird. Hier sind einige der nützlichsten:

  • ->everyFiveMinutes() -läuft alle 5 Minuten
  • ->hourly() -einmal pro Stunde
  • ->daily() -einmal um Mitternacht um Mitternacht
  • ->dailyAt('10:00') -jeden Tag um 10 Uhr morgens
  • ->weekly() -einmal pro Woche (Sonntag um 00:00)
  • ->monthly() -einmal im Monat
  • ->weekdays() -Nur an Wochentagen
  • ->timezone('America/New_York') -Setzen Sie eine bestimmte Zeitzone

Beispiel, das mehrere Einschränkungen kombiniert:

 $ Zeitplan-> Befehl ('Backup: Run')
         -> täglich ()
         -> at ('02: 30 ')
         -> Zeitzone ('Europa/London')
         -> OnoneServer (); // verhindert, dass sich mehrere Server überlappten

4. Verhindern über Überlappung und Gewährleistung einer einzelnen Serverausführung

Wenn eine Aufgabe länger als erwartet dauert, kann sie sich mit dem nächsten Lauf überschneiden. Um dies zu vermeiden, verwenden Sie:

 $ plan-> command ('lang: task')-> täglich ()-> ohne überlappend ();

Verwenden Sie beim Ausführen mehrerer Server (z. B. geladener) onOneServer() , um sicherzustellen, dass die Aufgabe nur einmal über den Cluster ausgeführt wird:

 $ plan-> command ('sync: feeds')-> stündlich ()-> OnoneServer ();

Dies erfordert, dass Ihre Anwendung einen Cache -Treiber verwendet, der Atom -Sperren unterstützt (wie Redis oder Datenbank).


5. Ausgang und Protokollierung

Sie können die Ausgabe von geplanten Befehlen in einer Datei speichern oder protokollieren:

 $ plan-> Befehl ('E-Mails: Senden')
         -> täglich ()
         -> sendout PutTo (Storage_path ('Protokolle/E-Mail-Plane.log'));

Oder Ausgabe und Fehler anhängen:

 $ plan-> Befehl ('E-Mails: Senden')
         -> täglich ()
         -> appendout PutTo (Storage_Path ('Protokolle/E-Mail-Plane.log'));

Sie können auch eine E -Mail -Ausgabe senden, wenn etwas schief geht (nützlich für die Überwachung):

 $ plan-> Befehl ('E-Mails: Senden')
         -> täglich ()
         -> E -MailOutputonFailure ('admin@example.com ');

Stellen Sie sicher, dass Ihre E -Mail -Einstellungen konfiguriert sind.


6. Testen geplante Aufgaben

Um manuell zu testen, ob Ihr Zeitplan korrekt ausgeführt wird, verwenden Sie:

 PHP Artisan Zeitplan: Lauf

In diesem Befehl wird Laravels Scheduler ausgeführt, wodurch alle definierten Aufgaben überprüft und alle fälligen ausgeführt werden.

Sie können auch alle geplanten Jobs auflisten (Laravel 9):

 PHP Artisan Zeitplan: Liste

Dies hilft, Ihre Syntax und Ihr Timing zu überprüfen.


Grundsätzlich vereinfacht die Aufgabenplanung von Laravel das Cron -Jobmanagement, indem sie es in PHP zentralisiert. Solange der Hauptcron -Eintrag eingerichtet ist, können Sie alle wiederkehrenden Aufgaben direkt in Ihrem Code definieren, optimieren und überwachen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Aufgabenplanung von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie man in Laravel eloquent verwendet Wie man in Laravel eloquent verwendet Aug 21, 2025 pm 02:30 PM

Modelle erstellen und Migration: Verwenden Sie PhPartisanMake: ModellPost-M, um Modelle und Migrationsdateien zu generieren, die Tabellenstruktur zu definieren und PhPartisanmigrate auszuführen. 2. Grundlegende CRUD -Operationen: Verwenden Sie Post :: All (), Find (), Create (), Save () und Delete (), um Daten abzufragen, zu erstellen, zu aktualisieren und zu löschen. 3. Verwenden Sie die eloquente Assoziation: Definieren Sie die Beziehungen zwischen Hörbol und Hasmany im Modell und verwenden Sie die Methode mit (), um die zugehörigen Daten vorzuladen, um N 1 -Abfrageprobleme zu vermeiden. V.

So erstellen Sie ein soziales Netzwerk mit Laravel So erstellen Sie ein soziales Netzwerk mit Laravel Sep 01, 2025 am 06:39 AM

Ja, youcancreateasocialNetworkwithlaravelByFollowingthesSteps: 1.SetUplaravelusedComposer, configurethe.envFile, EnableAuthenticationViabreeze/Jetstream/Verstärkung, AndrunMigrationsforSerManmanagement

So verwenden Sie die Aufgabenplanung von Laravel So verwenden Sie die Aufgabenplanung von Laravel Aug 31, 2025 am 06:07 AM

Mit Laravels TaskScheduling-System können Sie Timing-Aufgaben über PHP definieren und verwalten, ohne den Server-Crontab manuell zu bearbeiten, nur eine Cron-Aufgabe hinzuzufügen, die dem Server einmal pro Minute ausgeführt wird: *CD/Path-to-Your-Project && PhPartiSeSule: Run >>/Dev/Dev/null2> & 1 und dann werden alle Tasks konfiguriert. 1. Definieren von Aufgaben können Befehls-, Anruf- oder Exec-Methoden verwenden, z. B. $ plan-

Wie man mit polymorphen Beziehungen in Laravel arbeitet Wie man mit polymorphen Beziehungen in Laravel arbeitet Aug 25, 2025 am 10:56 AM

PolymorphicrelationshipSinlaravelallowamodellikeCompomentorimagetobelongTomultiplemodelsSuchaspost, Video, Ouserusingasinglease.2.DedatabaseSchemarequires {relation} _idandandcomputerable_typecolumns, exemplifictifydyTableable_idandcompommentable_typecoloNs, Exemplifictable, exemplifictabledy und entfaltet

Wie man eine Laravel -Anwendung internationalisiert Wie man eine Laravel -Anwendung internationalisiert Aug 22, 2025 pm 02:31 PM

Sprachdateien erstellen: Erstellen Sie Subdirektorien für jede Sprache (z. B. en, es) im Ressourcen-/Lang -Verzeichnis und fügen Sie Message.php -Datei hinzu, oder verwenden Sie die JSON -Datei, um die Übersetzung zu speichern. 2. Setzen Sie die Anwendungssprache: Lesen Sie den Anforderungsheader Akzeptieren Sie die Sprache über Middleware oder erkennen Sie die Sprache über das URL-Präfix, setzen Sie die aktuelle Sprache mit app ()-> setlocale () und registrieren Sie die Middleware in kernel.php. 3.. Verwenden Sie Übersetzungsfunktionen: Verwenden Sie __ (), trans () oder @lang in der Ansicht und verwenden Sie __ (), das Fallback unterstützt; 4. Supportparameter und Plural: Verwenden Sie Platzhalter in Übersetzungszeichenfolgen wie: n

So erstellen Sie ein Backend für mobile Apps mit Laravel So erstellen Sie ein Backend für mobile Apps mit Laravel Sep 02, 2025 am 08:34 AM

Um Laravel zum Erstellen eines mobilen Backends zu erstellen, muss zunächst das Framework installiert und die Datenbankumgebung konfiguriert werden. 2. Definieren Sie API -Routen in Routen/api.php und geben Sie eine JSON -Antwort mit dem Ressourcencontroller zurück. 3.. Implementieren Sie die API -Authentifizierung über Laravelsanctum, um Token für die mobile Speicherung und Authentifizierung zu generieren; 4. Überprüfen Sie den Dateityp beim Hochladen von Dateien und speichern Sie sie auf öffentlicher Festplatte und erstellen Sie Soft -Links für den externen Zugriff. 5. Die Produktionsumgebung erfordert HTTPS, setzen aktuelle Grenzwerte ein, konfigurieren CORs, führen Sie die API -Versionskontrolle durch und optimieren Sie die Fehlerbehandlung. Es wird außerdem empfohlen, API -Ressourcen, Paging-, Warteschlangen- und API -Dokumenten -Tools zu verwenden, um die Wartbarkeit und Leistung zu verbessern. Verwenden Sie Laravel, um einen Safe zu bauen,

Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Sep 21, 2025 am 06:04 AM

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel So implementieren Sie eine 'Erinnerung mir' -Funktionalität in Laravel Aug 31, 2025 am 08:53 AM

Stellen Sie sicher, dass es in der Benutzertabelle eine Spalte für remm_token gibt. Laravels Standardmigration enthält bereits dieses Feld. Wenn nicht, wird es durch Migration hinzugefügt; 2. Fügen Sie ein Kontrollkästchen mit Namen hinzu, erinnern Sie sich im Anmeldeformular, um die Option "Erinnere mich" anzugeben. 3. Übergeben Sie den Parameter Remember an die Auth :: Versuch () während der manuellen Authentifizierung, um eine anhaltende Anmeldung zu ermöglichen. 4. "Remember Me" dauert standardmäßig 5 Jahre und kann über das Remal_FOR -Konfigurationselement in config/auth.php angepasst werden. 5. Laravel ungültig für Erinnerung, wenn sich das Kennwort ändert oder Benutzer löscht. Es wird empfohlen, HTTPS zu verwenden, um die Sicherheit in der Produktionsumgebung zu gewährleisten. 6

See all articles