Messenger verwenden

Einrichtung des Workers

  1. Erstellen Sie eine Shell-Skript-Datei bin/run-worker.sh in Ihrem Projekt:
bash#!/usr/bin/env bash
while :; do
  /usr/bin/php /var/www/html/bin/console messenger:consume $1 -n
done
  1. Fügen Sie eine Supervisor-Konfiguration in .ddev/web-build/worker.conf hinzu:
text[program:messenger-worker]
command=bin/run-worker.sh "messenger:consume async --time-limit=3600"
directory=/var/www/html
numprocs=2
startsecs=0
autorestart=true
startretries=10
process_name=%(program_name)s_%(process_num)02d
stopwaitsecs=20
redirect_stderr=true
stdout_logfile=/var/log/messenger-worker.log
  1. Aktivieren Sie die Worker-Konfiguration, indem Sie eine Datei .ddev/web-build/Dockerfile.worker erstellen:
textADD worker.conf /etc/supervisor/conf.d

Neustart und Überprüfung

  1. Starten Sie DDEV neu:
textddev restart
  1. Überprüfen Sie, ob die Worker laufen:
textddev exec supervisorctl status

Wenn der Test ergibt, dass bin/run-worker.sh nicht ausführbar ist:

  1. Stellen Sie sicher, dass die Datei bin/run-worker.sh in Ihrem Projekt existiert.
  2. Machen Sie die Datei ausführbar. Führen Sie dazu folgenden Befehl in Ihrem Projekt-Verzeichnis aus:bashchmod +x bin/run-worker.sh
  3. Überprüfen Sie den Inhalt der Datei, um sicherzustellen, dass sie korrekt ist:bashcat bin/run-worker.sh Der Inhalt sollte wie oben unter 1. aufgeführt aussehen:
  4. Aktualisieren Sie Ihre DDEV-Konfiguration, indem Sie die Datei neu erstellen:bashddev config
  5. Starten Sie Ihren DDEV-Container neu:bashddev restart