Einrichtung des Workers
- Erstellen Sie eine Shell-Skript-Datei
bin/run-worker.shin Ihrem Projekt:
bash#!/usr/bin/env bash
while :; do
/usr/bin/php /var/www/html/bin/console messenger:consume $1 -n
done
- Fügen Sie eine Supervisor-Konfiguration in
.ddev/web-build/worker.confhinzu:
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
- Aktivieren Sie die Worker-Konfiguration, indem Sie eine Datei
.ddev/web-build/Dockerfile.workererstellen:
textADD worker.conf /etc/supervisor/conf.d
Neustart und Überprüfung
- Starten Sie DDEV neu:
textddev restart
- Überprüfen Sie, ob die Worker laufen:
textddev exec supervisorctl status
Wenn der Test ergibt, dass bin/run-worker.sh nicht ausführbar ist:
- Stellen Sie sicher, dass die Datei
bin/run-worker.shin Ihrem Projekt existiert. - Machen Sie die Datei ausführbar. Führen Sie dazu folgenden Befehl in Ihrem Projekt-Verzeichnis aus:bash
chmod +x bin/run-worker.sh - Überprüfen Sie den Inhalt der Datei, um sicherzustellen, dass sie korrekt ist:bash
cat bin/run-worker.shDer Inhalt sollte wie oben unter 1. aufgeführt aussehen: - Aktualisieren Sie Ihre DDEV-Konfiguration, indem Sie die Datei neu erstellen:bash
ddev config - Starten Sie Ihren DDEV-Container neu:bash
ddev restart