• Какой подход к контролю кронов Вы используете?

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

    было два скрипта анализа.
    первый скрипт мониторил текущие данные в БД, сравнивал их с шаблоном (сколько должно быть) и выдавал в нагиус состояние 0 1 2
    сисадмин по нагиусу если видел что что-то не так, то запускал таблицу мониторига скриптов и по ней наблюдали данные по скриптам, какой когда и как отработал

    вот такой многослойный пирог
    Ответ написан
    Комментировать