info@a-coding-project.de

Laravel Task Scheduler

Mit dem Task Scheduler bietet Laravel eine einfache Alternative zum Anlegen vieler einzelner Crons an. Im Task Scheduler können beliebig viele Tasks angelegt und mit einem Ausführungsintervall markiert werden. Man braucht dann nur noch einen einzelnen Cron, der in regelmäßigen Abständen diesen Artisan-Befehl ausführt:
php artisan schedule:run

Neuen Task anlegen:

In der Datei app\Console\Kernel.php können neue Tasks in der schedule-Methode hinzugefügt werden.

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
        // Task-Implementierung..
    })->everyFiveMinutes();
}

Der noch leere Task im Beispiel würde alle 5 Minuten ausgeführt werden. Andere Zeitintervalle sind möglich. So gibt es entsprechend zum Beispiel ->hourly() oder ->daily(); Die Ausführungszeit lässt sich aber noch genauer einstellen, zum Beispiel ->dailyAt('13:00') oder ->weeklyOn(2, '13:35') (Dienstags um 13:35 Uhr). Eine ausführlichere Liste der möglichen Zeitintervalle findet ihr hier.

Eigene Tasks als Commands definieren

Anstatt die eigenen Tasks direkt in Kernel.php zu definieren, kann man diese auch als Artisan Befehle anlegen und die konkrete Implementierung entsprechend dorthin auslagern.
php artisan make:command mytask Der Task lässt sich dann in Form von command:name in Kernel.php einfügen.

protected function schedule(Schedule $schedule)
{
    $schedule->command('command:name')->everyFiveMinutes();
}

Mit der sehr sprechenden Syntax könnte der Task Scheduler in vielen Fällen eine schöne Alternative zu herkömmlichen Crons sein. Außerdem positiv ist, dass die im Code definierten Tasks so auch einfach zusammen mit dem Projekt-Code versioniert werden können.

Laravel Entwickler gesucht?

Wir haben bereits viel Erfahrung im Umgang mit Laravel und Vue.js.
Nehmen Sie gerne unverbindlich Kontakt zu uns auf.

zum Angebot

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant