4 votos

Gearman De Trabajo Del Servidor / Ubuntu

He Gearman instalado, ejecuta y pasa puestos de trabajo en todo perfectamente bien, pero sólo cuando me inicie manualmente hasta la cola de trabajo con este comando:

/usr/sbin/gearmand -p 4730 -vvvv -u gearman 

Si hago esto, tengo otra instancia de EC2 que se ejecuta como un trabajador y un tercer paso en los puestos de trabajo. Perfecto, pero yo no quiero tener que mantener a un terminal abierto (obviamente) o un lío con la pantalla. Me gustaría que esto se ejecute en el inicio.

Así:

$ ps aux | grep gearman
gearman    745  0.2  0.2   8096  1388 ?        Ss   19:11   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

Se ve bien para mí. Pero cuando le digo a mi trabajador para conectar:

$ php workers/resize.php 
Waiting for job...
PHP Warning:  GearmanWorker::work(): gearman_connection_flush:write:111 in /home/ubuntu/workers/resize.php on line 20

Fallar!

También he notado nada de lo que está pasando en el archivo de registro (que no fue creado de forma automática, pero que se hace referencia en este init.d script de instalación). Yo intenté crear e, incluso, chowning a gearman:gearman pero no la alegría existe, es tan difícil de depurar.

7voto

Tom Hudson Puntos316

El problema es que el demonio está escuchando en 127.0.0.1/loopback local en lugar de una IP pública.

Esto se especifica en /etc/default/gearman-trabajo-servidor en Ubuntu.

Cambiar a la IP pública de la máquina, reinicie el demonio con el script de inicio y todo debería estar bien.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

;