Gearman не работает при работе с Supervisord

Я тестирую Gearman на выделенном сервере заданий (Ubuntu 12.04) для моего проекта PHP (используя pecl/gearman в качестве реализации PHP).

Вручную это работает нормально: запуск клиента, добавление заданий и запуск одного или нескольких рабочих в отдельных оболочках работает как задумано. Теперь я хочу запустить рабочих с помощью Supervisord, но это приводит к множеству следующих ошибок в журнале 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

По умолчанию это супервизор, я только что добавил программу:

[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

Информация о процессе 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

При тестировании супервизора:

supervisord -n -c /etc/supervisor/supervisord.conf 

Я застрял здесь, так как сообщение об ошибке на самом деле не возвращает результаты в Google. Любая помощь приветствуется.

1 ответ

Решение

Натолкнулся на ту же ошибку почти в том же стеке сервера и нашел решение. Выдается предупреждение и ошибка, потому что вы пытаетесь отправить работу незарегистрированному работнику. Проверьте имя вашего работника и проверьте с помощью ps -ax в командной строке, работает ли он.

Отправка задания несуществующему работнику в командной строке с помощью gearmand -f не даст вам никакой обратной связи. Выполнение этого с использованием модуля pecl приводит к ошибке.

PS: я знаю, что вы уже спрыгнули с корабля и двинулись вместе с Бинстальком, но, возможно, это может помочь кому-то еще

Другие вопросы по тегам