Есть ли в Windows аналог супервизора?

Мне нужно запустить сценарий python и убедиться, что он перезапустится после завершения работы. Я знаю, что существует решение UNIX под названием supervisord. Но, к сожалению, сервер, на котором должен быть запущен мой скрипт, находится в Windows. Вы знаете, какой инструмент может быть полезен? Спасибо

25
задан pss 2 October 2011 в 23:02
поделиться

2 ответа

Если вам нужен диспетчер процессов, похожий на супервизор, который работает в большинстве операционных систем posix и основан на Python, как супервизор, то вам следует обратить внимание на honcho, который является портом мастера Python (на основе Ruby):

http://pypi.python.org/pypi/honcho/

Отлично работает на Mac, Linux, но (на самом деле) еще не Windows ... (редактирование моего первоначального ответа, где Я оптимистично сказал, что он уже работает в Windows на основе запроса на удаление, который был отклонен с тех пор)

Здесь есть ответвление, обеспечивающее поддержку Windows https://github.com/redpie/honcho и некоторая работа по поддержке Windows здесь https://github.com/nickstenning/honcho/issues/28 ... по крайней мере, это может стать возможным решением в ближайшем будущем.

Здесь также есть форк-мастер для поддержки Windows: https://github.com/ddollar/foreman-windows , который может работать на вас, хотя я никогда не пробовал.

Так что на данный момент служба Windows может быть вашим лучшим краткосрочным вариантом.

5
ответ дан 28 November 2019 в 20:38
поделиться

Нет, supervisord не поддерживаем в соответствии с Windows.

, НО то, что Вы можете сделать, чтобы перезапустить его автоматически из сценария обертки:

#!/usr/bin/python
from subprocess import Popen

file_path = " script_to_be_restarted.py"
args_as_str = " --arg1=woop --arg2=woop"

while True:
    print("(Re-)Start script %s %s" % (file_path, args_as_str))
    p = Popen("python " + file_path + args_as_str, shell=True)
    p.wait()
0
ответ дан 28 November 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: