Configuração do supervisor no AWS AMI Linux

6

Estou tentando fazer o supervisor trabalhar para garantir que meu sistema de filas esteja sempre em execução.

Aqui estão os passos que eu dei, que eu juntei de várias fontes: (Ran como root ou superusuário)

  1. Ran:

    # easy_install supervisor
    # echo_supervisord_conf > /etc/supervisord.conf
    # vi supervisord.conf
    
  2. Colocou o seguinte no final do arquivo:

    command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
    
  3. Ran:

    # supervisord -c /etc/supervisord.conf
    # supervisorctl
    supervisor> status
    supervisor>
    

    Não exibe nada.

  4. Ran:

    # service supervisord reload
    supervisord: unrecognized service
    
por zeros-and-ones 04.03.2015 / 05:47

2 respostas

4

para que o supervisord seja executado como um serviço, você precisa de um arquivo /etc/init.d/supervisord . Eu usei o link com mods para combinar com o caminho que easy_install coloca os binários em ( /usr/local/bin/ ) e para encontrar o pid e os logs em /var/run/ e /var/log/

    
por 07.07.2015 / 18:19
4

Eu passei algumas horas nisso, tentando fazer com que o supervisor e o Amazon Linux AMI fossem legais. Eu estava experimentando exatamente os sintomas que você mencionou.

Algumas peculiaridades:

  • vá em frente e inclua -c /etc/supervisord.conf (ou qualquer que seja seu caminho) em qualquer comando supervisord ou supervisorctl e certifique-se de executar o mesmo usuário todas as vezes.
  • no seu /etc/supervisord.conf , quando você 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, o 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 vi mencionado em alguns 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á sendo executado
  • sudo vim para editar o /etc/supervisord.conf e sudo /usr/local/bin/supervisorctl -c /etc/supervisord.conf then avail , reload , update etc. para atualizar (em vez de editar .ebextensions e empurrando para beanstalk elástico toda vez)
por 07.06.2015 / 10:28