web-dev-qa-db-de.com

Wenn Sie supervisorctl starten, wird ein Fehler (Spawn-Fehler) für den Arbeitsprozess der Laravel-Warteschlange angezeigt

Ich habe Supervisor installiert und es scheint zu laufen. Ich habe meine Konfigurationsdatei für den Warteschlangenarbeiter in /etc/supervisor/conf.d/laravel-worker.conf abgelegt

Und so sieht es aus

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html queue:work database --sleep=3 --tries=2 --daemon
autostart=true
autorestart=true
numprocs=4
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/laravel.log

Und meine supervisord.conf sieht so aus

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0775                       ; sockef file mode (default 0700)
chown=root

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
 ; added by defining them in separate rpcinterface: sections
 [rpcinterface:supervisor]
 supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

Ich erhalte den Fehler - ERROR (Spawn-Fehler), wenn ich versuche, die Prozesse zu starten. 

Wenn ich mir die Logdatei anschaue, zeigt es - 

2017-05-28 22:21:20,697 INFO exited: laravel-worker_01 (exit status 0; not expected)
2017-05-28 22:21:20,702 INFO exited: laravel-worker_00 (exit status 0; not expected)
2017-05-28 22:21:20,704 INFO exited: laravel-worker_02 (exit status 0; not expected)
2017-05-28 22:21:20,706 INFO exited: laravel-worker_03 (exit status 0; not expected)
2017-05-28 22:21:23,711 INFO spawned: 'laravel-worker_00' with pid 16280
2017-05-28 22:21:23,713 INFO spawned: 'laravel-worker_01' with pid 16281
2017-05-28 22:21:23,715 INFO spawned: 'laravel-worker_02' with pid 16282
2017-05-28 22:21:23,719 INFO spawned: 'laravel-worker_03' with pid 16283
2017-05-28 22:21:23,772 INFO exited: laravel-worker_02 (exit status 0; not expected)
2017-05-28 22:21:23,774 INFO gave up: laravel-worker_02 entered FATAL state, too many start retries too quickly
2017-05-28 22:21:23,774 INFO exited: laravel-worker_01 (exit status 0; not expected)
2017-05-28 22:21:23,776 INFO gave up: laravel-worker_01 entered FATAL state, too many start retries too quickly
2017-05-28 22:21:23,776 INFO exited: laravel-worker_03 (exit status 0; not expected)
2017-05-28 22:21:23,777 INFO gave up: laravel-worker_03 entered FATAL state, too many start retries too quickly
2017-05-28 22:21:23,777 INFO exited: laravel-worker_00 (exit status 0; not expected)
2017-05-28 22:21:24,778 INFO gave up: laravel-worker_00 entered FATAL state, too many start retries too quickly

Ich habe überprüft, dass alle Dateien in meiner Konfigurationsdatei vorhanden sind. Ich bin mir nicht sicher, ob ich die richtige Konfiguration in meiner laravel-worker.conf verwende. Ich habe die Dokumentation und andere stackoverflow-Threads gesucht, aber die Lösung nicht gefunden

2
Joshua Majebi

Das Problem lag also anscheinend bei meinem Laravel-Arbeiter . Ich musste den Befehlspfad vervollständigen, indem ich '/ artisan' zu dem Pfad hinzufügte. 

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan queue:work database --sleep=3 --tries=2 --daemon
6
Joshua Majebi

Ich wurde entschlossen, den Supervisor neu zu starten

Sudo service supervisor reload
0
Thabung

sie müssen Handwerker in Ihrem conf und Benutzer in Ihrer Conf-Datei hinzufügen

zum Beispiel

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/site.com/kernel/artisan queue:work --sleep=3 -- 
tries=3
autostart=true
autorestart=true
user=root
numprocs=10
redirect_stderr=true
stdout_logfile=/home/site.com/kernel/worker.log
0
MajidGh