
Estou tentando fazer com que o supervisor trabalhe para garantir que meu sistema de filas esteja sempre funcionando.
Aqui estão as etapas que executei, que juntei de várias fontes: (Executado como root ou superusuário)
Corrido:
# easy_install supervisor # echo_supervisord_conf > /etc/supervisord.conf # vi supervisord.conf
Colou o seguinte no final do arquivo:
command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
Corrido:
# supervisord -c /etc/supervisord.conf # supervisorctl supervisor> status supervisor>
Não exibe nada.
Corrido:
# service supervisord reload supervisord: unrecognized service
Responder1
para que o supervisord seja executado como um serviço, você precisa de um /etc/init.d/supervisord
arquivo. eu useihttps://raw.githubusercontent.com/Supervisor/initscripts/master/redhat-init-equeffelec
com mods para corresponder ao caminho em que easy_install colocou os binários em ( /usr/local/bin/
) e para encontrar o pid e fazer login /var/run/
e/var/log/
Responder2
Passei algumas horas nisso, tentando fazer com que o supervisor e o Amazon Linux AMI funcionassem bem. Eu estava sentindo exatamente os sintomas que você mencionou.
Algumas peculiaridades:
- vá em frente e inclua
-c /etc/supervisord.conf
(ou qualquer que seja o seu caminho) em qualquer comandosupervisord
ousupervisorctl
e certifique-se de executar sempre o mesmo usuário. no seu
/etc/supervisord.conf
, ao anexar o comando, certifique-se de prefixar o nome com 'program:', assim:[program:queue] command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
Depois de fazer o acima, supervisorctl FINALMENTE reconheceu o processo/programa da fila.
Ainda não consegui sudo service supervisor restart
reconhecer o supervisor como um serviço - suspeito que seja porque não tenho um script inicial que tenha visto mencionado em vários lugares. Não tenho certeza se preciso de um neste momento.
Algumas técnicas de depuração que usei:
ps aux | grep super
para ver se está funcionando- sudo vim para editar
/etc/supervisord.conf
e ,sudo /usr/local/bin/supervisorctl -c /etc/supervisord.conf
em seguida , , etc. para atualizar (em vez de editar .ebextensions e enviar para o pé de feijão elástico sempre)avail
reload
update