Je teste Gearman sur un serveur de travail dédié (Ubuntu 12.04) pour mon projet PHP (en utilisant pecl/gearman comme implémentation PHP).
Manuellement, cela fonctionne bien : le démarrage du client, l'ajout de tâches et l'exécution d'un ou plusieurs travailleurs dans des shells séparés fonctionnent comme prévu. Maintenant, je veux exécuter les travailleurs en utilisant Supervisord, mais cela génère un grand nombre d'erreurs suivantes dans le journal Gearman :
WARNING [ 4 ] lost connection to client recv(peer has closed connection) 127.0.0.1:37126 -> libgearman-server/io.cc:608
ERROR [ 4 ] Failed while in _connection_read() -> libgearman-server/io.cc:489
Le superviseur conf est par défaut, j'ai juste ajouté un programme :
[program:migration]
command=/path/to/script
process_name=%(program_name)s_%(process_num)02d
numprocs=10
stdout_logfile=/var/log/gearman.log
stderr_logfile=/var/log/gearman-error.log
stdout_logfile_maxbytes=1MB
environment=GEARMAN_USER=gearman
autostart=true
autorestart=true
user=gearman
stopsignal=KILL
Informations sur le processus Gearman :
gearman 9802 0.0 0.0 476116 1780 ? Ssl 12:18 0:00 /usr/sbin/gearmand --pid-file=/var/run/gearman/gearmand.pid --user=gearman --daemon --log-file=/var/log/gearman-job-server/gearman.log --listen=127.0.0.1
Quand on teste le superviseur :
supervisord -n -c /etc/supervisor/supervisord.conf
Je suis un peu coincé ici, car le message d'erreur ne donne pas vraiment de résultats sur Google. Toute aide est la bienvenue.