web-dev-qa-db-fra.com

Le démarrage de supervisorctl génère ERROR (erreur d’apparition) sur le processus de traitement de la file d'attente Laravel

Donc, j'ai installé superviseur et il semble être en cours d'exécution. J'ai placé mon fichier de configuration pour le travailleur de file d'attente dans /etc/supervisor/conf.d/laravel-worker.conf

Et ça ressemble à ça

[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

Et mon supervisord.conf ressemble à ceci

[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

Je reçois l'erreur - ERROR (erreur d'apparition) lorsque j'essaie de démarrer les processus. 

Quand je regarde le fichier journal, il montre - 

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

J'ai vérifié que tous les fichiers de mon fichier de configuration existent. Je ne suis pas sûr d'utiliser la bonne configuration dans mon laravel-worker.conf. J'ai effectué une recherche dans la documentation et d'autres threads stackoverflow, mais je n'ai pas trouvé la solution.

2
Joshua Majebi

Donc le problème était apparemment avec mon ouvrier laravel Je devais compléter le chemin de commande en ajoutant '/ artisan' au chemin comme suit - 

[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

J'ai eu la résolution en relançant superviseur

Sudo service supervisor reload
0
Thabung

vous devez ajouter un artisan dans votre conf et ajouter un utilisateur dans votre fichier de conf

par exemple

[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