Правильный способ создания [самостоятельно] возрождающегося приложения в Python - PullRequest
2 голосов
/ 31 марта 2010

Я использую jabber-бот, написанный на python, для регистрации некоторых выступлений MUC. Иногда это падает на некоторые проблемы сети или XMPP. В этом случае я должен начать все заново сам. Цель состоит в том, чтобы сделать его "самовоспускающимся".

У меня есть несколько вариантов, как это сделать.

  1. Бот - это один процесс. Еще один процесс контролирует его деятельность и запускает если бот умер.
  2. Основной процесс порождает бота подпроцесс и управляет им.

Кроме того, я думаю, что демон-процесс бота здесь полезен. Платформа Linux, как вы могли догадаться.

Как правильно решить эту проблему?

1 Ответ

4 голосов
/ 01 апреля 2010

Если вы используете что-то вроде ubuntu, попробуйте заглянуть в upstart и его функцию автоматического демонизации и «возрождения». Вот хороший общий пост блога о запущенных и запущенных процессах .

Я также слышал хорошие новости о supervisdord .

...