
Estoy intentando que el supervisor trabaje para asegurarme de que mi sistema de cola esté siempre funcionando.
Estos son los pasos que tomé, que recopilé de varias fuentes: (Ejecuté como root o superusuario)
Corrió:
# easy_install supervisor # echo_supervisord_conf > /etc/supervisord.conf # vi supervisord.conf
Pegué lo siguiente al final del archivo:
command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
Corrió:
# supervisord -c /etc/supervisord.conf # supervisorctl supervisor> status supervisor>
No muestra nada.
Corrió:
# service supervisord reload supervisord: unrecognized service
Respuesta1
Para que Supervisord se ejecute como un servicio, necesita un /etc/init.d/supervisord
archivo. solíahttps://raw.githubusercontent.com/Supervisor/initscripts/master/redhat-init-equeffelec
con mods para que coincida con la ruta en la que easy_install puso los binarios en ( /usr/local/bin/
) y para encontrar el pid e iniciar sesión /var/run/
y/var/log/
Respuesta2
Solo pasé un par de horas en esto, tratando de que el supervisor y la AMI de Amazon Linux funcionaran bien. Estaba experimentando exactamente los síntomas que mencionaste.
Algunas peculiaridades:
- Continúe e incluya
-c /etc/supervisord.conf
(o cualquiera que sea su ruta) en cualquier comandosupervisord
osupervisorctl
, y asegúrese de ejecutar desde el mismo usuario cada vez. en su
/etc/supervisord.conf
, cuando agregue el comando, asegúrese de anteponer el nombre con 'programa:', así:[program:queue] command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
Una vez que hice lo anterior, supervisorctl FINALMENTE reconoció el proceso/programa de la cola.
Todavía no he llegado sudo service supervisor restart
a reconocer al supervisor como un servicio; sospecho que es porque no tengo un guión advenedizo que haya visto mencionado en varios lugares. No estoy seguro de necesitar uno en este momento.
Algunas técnicas de depuración que utilicé:
ps aux | grep super
para ver si está funcionando- sudo vim para editar
/etc/supervisord.conf
ysudo /usr/local/bin/supervisorctl -c /etc/supervisord.conf
luegoavail
,reload
etc.update
para actualizar (en lugar de editar .ebextensions y presionar a elastic beanstalk cada vez)