Estou acostumado a usarsupervisorem minhas máquinas Unix e agora devo fazer a mesma coisa no Windows. Infelizmente, o supervisord não funciona em máquinas Windows.
Alguém conhece alguma alternativa?
Responder1
O Windows pode fazer isso por você.
Abra o painel de controle de Serviços. Selecione seu serviço. Vá para a guia Recuperação. Você pode selecionar opções para a primeira, segunda e falhas de serviço subsequentes.
Responder2
Você pode usar o Cygwin para rodar supervisord
no Windows, conforme descrito aqui:https://stackoverflow.com/questions/7629813/is-there-windows-analog-to-supervisord
Instruções citadas:
Se você ainda não fez isso, instale o Cygwin. Durante o processo de instalação, selecione Python.
No terminal Cygwin, instalevirtualenvcomo sempre.
Crie um virtualenv para supervisord e instale normalmente:
pip install supervisor
Configure o supervisord da maneira usual. Tenha em mente que o supervisord estará rodando com o Cygwin, então é melhor você usar caminhos do jeito Cygwin (C:\myservers\project1 se traduz em /cygdrive/c/myservers/project1 no Cygwin).
Agora você provavelmente deseja instalar o supervisord como um serviço. Veja como eu faço isso:
cygrunsrv --install supervisord --path /home/Administrator/supervisor/venv/bin/python --args "/home/Administrator/supervisor/venv/bin/supervisord -n -c /home/Administrator/supervisor/supervisord.conf"
Vá para o gerenciador de serviços do Windows e inicie o supervisor de serviço que você acabou de instalar.
A solução acima me ajudou a controlar uma instância do Tomcat em execução em uma sessão de usuário normal (em vez de executar como um serviço):
[program:tomcat]
command=/cygdrive/c/tomcat/bin/catalina.sh run
numprocs=1
directory=/cygdrive/c/tomcat
autostart=false
Você pode configurar supervisord
para executar no logon e então usar sua interface da web para iniciar/parar o Tomcat