Я привык использовать supervisord на своих Unix-машинах, и теперь я должен сделать то же самое для Windows. К сожалению, supervisord не работает под Windows-машинами.
Кто-нибудь знает какие-либо альтернативы?
Я привык использовать supervisord на своих Unix-машинах, и теперь я должен сделать то же самое для Windows. К сожалению, supervisord не работает под Windows-машинами.
Кто-нибудь знает какие-либо альтернативы?
Windows может сделать это для вас.
Откройте панель управления службами. Выберите свой сервис. Перейдите на вкладку «Восстановление». Вы можете выбрать параметры для первого, второго и последующих сбоев службы.
Вы можете использовать Cygwin для запуска supervisord
под Windows, как описано здесь: https://stackoverflow.com/questions/7629813/is-there-windows-analog-to-supervisord
Цитируемые инструкции:
- Если вы еще этого не сделали, установите Cygwin. В процессе установки выберите Python.
- С терминала Cygwin установите virtualenv как обычно.
Создайте virtualenv для супервизора, а затем установите как обычно:
pip install supervisord
Настройте супервизор обычным способом. Помните, что supervisord будет работать с Cygwin, поэтому вам лучше использовать пути Cygwin (C:\myservers\project1 переводится в /cygdrive /c /myservers /project1 в Cygwin).
Теперь вы, вероятно, хотите установить Supervisord в качестве службы. Вот как я это делаю:
cygrunsrv --install supervisord --path /home/Administrator/supervisor/venv/bin/python --args "/home/Administrator/supervisor/venv/bin/supervisord -n -c /home/Administrator/supervisor/supervisord.conf"
Перейдите в диспетчер служб Windows и запустите диспетчер служб, который вы только что установили.
Приведенное выше решение помогло мне управлять экземпляром Tomcat, работающим в обычном сеансе пользователя (а не в качестве службы):
[program:tomcat]
command=/cygdrive/c/tomcat/bin/catalina.sh run
numprocs=1
directory=/cygdrive/c/tomcat
autostart=false
Вы можете настроить supervisord
для запуска при входе в систему, а затем использовать его веб-интерфейс для запуска / остановки tomcat.