Gearman não funciona ao executar com Supervisord

1

Estou testando o Gearman em um servidor de trabalho dedicado (Ubuntu 12.04) para o meu projeto PHP (usando pecl / gearman como a implementação do PHP).

Manualmente isso funciona bem: inicializar o cliente, adicionar trabalhos e executar um ou mais trabalhadores em shells separados funciona conforme o esperado. Agora, quero executar os trabalhadores usando o Supervisord, mas isso gera muitos dos seguintes erros no log do 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

O supervisor conf é o padrão, acabei de adicionar um programa:

[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

Informação do processo de 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

Ao testar o supervisor:

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

Estou meio preso aqui, já que a mensagem de erro não retorna resultados no Google. Qualquer ajuda é apreciada.

    
por Peter Kruithof 29.10.2012 / 12:34

1 resposta

3

Correu o mesmo erro quase exatamente na mesma pilha de servidores e encontrou uma solução. O aviso e o erro são lançados porque você está tentando enviar um trabalho para um funcionário não registrado. Verifique o nome do seu funcionário e verifique com ps -ax na linha de comando, se estiver em execução.

Enviar um trabalho para um trabalhador não existente na linha de comando usando o comando gearmand -f não fornecerá feedback. Fazê-lo usando o módulo pecl resulta em um erro.

PS: Eu sei que você já pulou do navio e se mudou junto com o Beanstalkd, mas talvez ele possa ajudar outra pessoa.

    
por 14.11.2012 / 12:36