1. Home
  2. Wissensdatenbank
  3. Software & Skriptsprachen
  4. Shopware
  5. Shopware 6: Worker im Hintergrund laufen lassen
  1. Home
  2. Wissensdatenbank
  3. Software & Skriptsprachen
  4. Shopware 6: Worker im Hintergrund laufen lassen

Shopware 6: Worker im Hintergrund laufen lassen

Hintergrund
In der Standardkonfiguration führt Shopware 6 Browser Prozesse aus, um alle Hintergrundaufgaben zu erledigen. Dadurch werden andere Web-PHP-Prozesse blockiert. Sofern nun mehrere Benutzer gleichzeitig im Backend arbeiten, verlangsamt dies entsprechend die Seitengeschwindigkeit.

Mehr Details finden Sie hier:

Um dieses Performance Einbußen zu minimieren, können die Prozesse auf dem Server direkt ausgeführt werden.

Deaktiveren der Browser Prozesse
Zum deaktivieren der Browser Prozesse muss folgendes in Shopware hinzugefügt werden:

/home/$USER/$domain.de/config/packages/shopware.yaml

shopware:
    admin_worker:
        enable_admin_worker: false

Damit die Einstellung greift, muss der Cache geleert werden:

php bin/console cache:clear

Cronjobs einrichten
Um die Cronjobs zu erstellen, müssen folgende Skripte hochgeladen werden:

sw_consumer.sh

#!/bin/bash
cd "$(dirname "$0")"
exec {lock_fd}> $(basename $0).lck || exit 1
flock -n "$lock_fd" || { echo "ERROR: flock() failed." >&2; exit 1; }

php /home/$USER/$DOMAIN/bin/console messenger:consume --time-limit=295 --memory-limit=512M

sw_scheduled_task.sh

#!/bin/bash
cd "$(dirname "$0")"
exec {lock_fd}> $(basename $0).lck || exit 1
flock -n "$lock_fd" || { echo "ERROR: flock() failed." >&2; exit 1; }

php /home/$USER/$DOMAIN/bin/console scheduled-task:run --time-limit=295 --memory-limit=512M

Wie Cronjobs eingerichtet werden finden Sie hier:

Wie richte ich einen Cronjob ein?

Folgende Werte sollten gesetzt werden:

* Ausführung alle 5 Minuten
* Laufzeit: 300 Sekunden
* Memory: 512MB

Aktualisiert am 3. Juni 2021

War dieser Artikel hilfreich?

Ähnliche Artikel