Можете ли вы использовать python-daemon с Python 2.4?

1

Я конвертирую свою программу для запуска в качестве демон в Linux. Я хотел бы использовать пакет python-daemon, чтобы сохранить повторение работы. Однако мне нужно поддерживать python 2.4.

В примере, приведенном на странице, используется ключевое слово with поэтому подразумевается python 2.5; Менеджеры контекста также перечислены как поддерживаемые с 2.5.

Могу ли я просто вызвать __enter__() и __exit__() самостоятельно? Или это еще не так?

Этот вопрос почти отвечает на мой вопрос, но просто пропускает его в последнюю минуту.

  • 0
    Если у вас может быть другой демон, то supervisord обойдет вашу проблему.
Теги:
daemon

1 ответ

3
Лучший ответ

Насколько я могу судить по исходному коду, легко использовать python-daemon в Python 2.4. (У меня нет установки Python 2.4, чтобы попробовать.) __enter__() и __exit__() для DaemonContext являются по существу псевдонимами для open() и close(), поэтому эквивалент

with daemon.DaemonContext():
    do_main_program()

будет просто

context = daemon.DaemonContext()
context.open()
try:
    do_main_program()
finally:
    context.close()

Я не смог найти ничего, что могло бы сделать Python 2.5 при просмотре всего исходного кода. (Есть несколько специфических конструкций Python 2.4, хотя, как и несколько декораторов и reversed(), поэтому он не будет работать с Python 2.3 из коробки.)

  • 0
    Это то, что я хотел знать. Спасибо!
  • 0
    @wilbo: Значит, он действительно работал с Python 2.4? (Просто чтобы убедиться, что будущие посетители этой страницы действительно найдут ответ на вопрос.)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню