Shopware 6 Cronjobs richtig einrichten – easy!

Einfach und unkompliziert die Cronjobs in Shopware 6 richtig einrichten, so klappts!

Shopware 6 führt im Standard die ehemaligen Cronjobs – mittlerweile “Scheduled Tasks” genannt – im Webbrowser als Hintergrundaufgaben aus. Dies passiert z.B. beim Arbeiten in der Administrationsoberfläche.

Das Ganze ist zunächst recht komfortabel, bringt jedoch einen Nachteil mit sich: Durch diese Browserprozesse werden andere PHP Prozesse blockiert. Gerade wenn gleichzeitig mehrere Nutzer im Backend arbeiten kann sich unter Umständen die Seitengeschwindigkeit verlangsamen. Auch Problematisch ist diese Konfiguration wenn man selten im Backend arbeitet da man den Shop z.B. über eine Warenwirtschaft pflegt.

Mit der richtigen Konfiguration kann man die Performance Einbußen minimieren und die Prozesse automatisiert ausführen, so klappts:

Zunächst das Deaktivieren der Standardeinstellung:

Dazu im Pfad die Dateil shopware.yaml öffnen
/platform/src/Core/Framework/Resources/config/packages/shopware.yaml

Hier ersetzt ihr folgende Zeile:
shopware:
    admin_worker:
        enable_admin_worker: true

durch

shopware:
    admin_worker:
        enable_admin_worker: false


Damit die Einstellung greift, muss der Cache geleert werden:

php bin/console cache:clear


Damit wurde das oben beschriebene Standard-Verhalten deaktiviert.

Nun zum einrichten der Cronjobs wie man sie kennt:

Dazu müsst ihr eine Shell Datei mit folgendem Inhalt auf dem Server ablegen:

bin/console scheduled-task:run --time-limit=550 --memory-limit=512M


Dieser ist eine Art Watcher – ähnlich dem storefront:hot / administration:watchBefehl für all diejenigen die Entwickeln 😉 – sprich der Server achtet bei Ausführung darauf ob ein Scheduled Task in die Pipeline kommt und führt ihn entsprechend aus.

Ihr solltet unbedingt vermeiden diesen Befehl mehrfach auf dem System auszuführen da entsprechend sonst mehrere Instanzen des Watchers laufen!

Zu guter Letzt solltet ihr auf dem Server noch folgende Einstellungen setzten:

Script Laufzeit: 600 Sekunden
Script Ausführung alle 10 Minuten
Memory: 512MB


Damit der Server das oben erstellte Script auch tatsächlich ausführt.

Geschafft!
Damit habt ihr die Cronjobs richtig konfiguriert!

Verwandte Beiträge

Datenschutzeinstellungen
Ich habe die Datenschutzerklärung zur Kenntnis nehmen können und erkläre mich damit einverstanden, dass die von mir angegebenen Daten zur Kontaktaufnahme, sowie der Bearbeitung meines Anliegens, verwendet werden.