реализовывал (в команде естенственно) крупную соц сеть, куча крон задач. Много скриптов должно постоянно крутиться (наверно их можно назвать демонами, хотя запускаются по крону).
Пришлось разрабатывать систему развертывания и управления задачами/скриптами (задачи крутились на разных серверах).
Основные принципы следующие:
Все крон задачи являются наследниками от базового класса.
Все крон задачи запускаются из единого скрипта (обертка) запуска.
Каждая крон задача имеет pid файл ( на тот случай чтоб не запустилось одновременно две одинаковых задачи )
Если нужно запустить одновременно два одинаковых скрипта, то на этот случай pid файл имел расширение
например crontask.1.pid crontask.2.pid
Каждый крон скрипт в централизованную БД ( в сой сети организован шардинг, все данные разбиты по шардам ) скидывал данные: время начала запуска, время окончания запуска, сколько сделано (некая мера, например кол-во обработанных элементов очереди)
было два скрипта анализа.
первый скрипт мониторил текущие данные в БД, сравнивал их с шаблоном (сколько должно быть) и выдавал в нагиус состояние 0 1 2
сисадмин по нагиусу если видел что что-то не так, то запускал таблицу мониторига скриптов и по ней наблюдали данные по скриптам, какой когда и как отработал
вот такой многослойный пирог