Я написал небольшое приложение на Python, которое работает как демон. Он использует многопоточность и очереди.
Я ищу общие подходы к изменению этого приложения, чтобы я мог общаться с ним во время его работы. В основном я хотел бы иметь возможность следить за его здоровьем.
В двух словах, я хотел бы иметь возможность сделать что-то вроде этого:
python application.py start # launches the daemon
Позже я хотел бы иметь возможность прийти и сделать что-то вроде:
python application.py check_queue_size # return info from the daemonized process
Для ясности, у меня нет проблем с реализацией вдохновленного Django синтаксиса. Я не имею ни малейшего представления о том, что делать, это посылать сигналы демонизированному процессу (запуск) или как писать демон для обработки и реагирования на такие сигналы.
Как я уже говорил выше, я ищу общие подходы. Единственное, что я сейчас вижу, это то, что демон постоянно записывает в файл все, что может понадобиться, но я надеюсь, что есть менее грязный способ сделать это.
ОБНОВЛЕНИЕ: Ого, много хороших ответов. Спасибо. Я думаю, что я посмотрю как на Pyro, так и на web.py/Werkzeug, так как Twisted - это немного больше, чем я хотел бы откусить в данный момент. Я полагаю, что следующая концептуальная задача заключается в том, чтобы поговорить с моими рабочими потоками, не вешая их.
Еще раз спасибо.