09. Dezember 2020
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.
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
shopware:
admin_worker:
enable_admin_worker: false
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:
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 setzen:
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!
Sind Sie neugierig oder haben Fragen?
Wir helfen gerne weiter und freuen uns auf Ihre Kontaktaufnahme!