Jonathan Fontes

Supervisord

14 de February de 2018

Uma óptima forma de fazer long polling ou short polling, mas de certo que é mais conhecido por fazer Queues.

supervisord
Supervisord é numa forma leiga um controlo de processos direcionado a software criados para projectos. E como gosto de PHP, serve muito bem para manter um processo "aberto" de PHP.

É diferente do Cron Jobs!

Pessoalmente, costumo instalar o Supervisord com o PIP. pip install supervisor Mas também podes instalar com o package manager do teu sistema operativo, no ubuntu podemos fazer o seguinte: sudo apt-get install supervisor no OSX podemos instalar com o comando: brew install supervisor.

!!! Nota, não aconselho instalar o software no ambiente de desenvolvimento. Apenas deverá ser instalado no servidor.

Adicionar um programa

Para se adicionar um novo programa, vamos editar o ficheiro:

$ vim supervisord.conf

e escrevemos,

[program:pollbranchingphp]
command=/usr/php /var/www/project/file.php args1 args2

A secção do header, [program:x] a palavra "program" é obrigatório, a outra parte "x" é o nome do programa. Mais informações, aqui.

Há outros parametros que podemos passar, eis algumas delas.

autostart=true ; Começa automaticamente quando o supervisord começar arrancar.
autorestart=true ; Caso o programa "morra", deverá fazer restart.
user=forge ; Utilizador que deverá correr o script.
numprocs=8 ; Quantos processos queres que corra simultaneamente
redirect_stderr=true ; Os erros a ser redirecionar para o log.
stdout_logfile=/home/forge/app.com/worker.log ; Escreve o log neste ficheir.

Começar a correr o programa

Existe um ritual para que o programa começe a funcionar, na altura que utilizei bastante este software deviamos sempre correr o supervisord nesta ordem:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start pollbranchingphp

De experiiência própria, ao correr desta forma, não terás problemas.

Qualquer coisa é só apitar! :P

I don't know why all developer say, "Proudly Hosted by DigitalOcean".

© 2017 · 2018