Чек-лист мониторинга cron-задач
Расписание может падать тихо. Чек-лист помогает выбрать задачи, настроить окна heartbeat и алертить при пропуске запуска.
Инвентаризация расписаний
Перечислите cron, бэкапы, ETL-импорты, выставление счетов и воркеры очередей. Укажите частоту и допустимую задержку.
Паттерн heartbeat
После успешного запуска вызывайте уникальный HTTPS URL heartbeat. SitePuls ждёт пинг в заданном интервале.
Интервал и grace
Окно = максимальное нормальное время выполнения плюс запас. Долгие задачи требуют шире окно, чтобы не ловить ложные алерты.
Один монитор на задачу
Отдельные URL heartbeat показывают, какой пайплайн остановился — не только «что-то в batch-слое».
Контакты алертов
Пропуск heartbeat — команде, которая перезапустит воркеры, починит скрипт или восстановит бэкап, а не в общий ящик.
Вместе с аптаймом API
Heartbeat подтверждает batch-работу; мониторы API — онлайн-поверхности. Для сквозной надёжности нужны оба слоя.
Практический гайд по мониторингу
Пример ниже иллюстративный — значения вымышленные, не данные реальных клиентов.
Какие задачи стоит мониторить
- Ночные бэкапы и экспорты, которые должны завершиться до рабочего дня.
- Пакетные задачи биллинга, счетов или продления подписок.
- Пересборка поискового индекса, прогрев кэша и ETL-пайплайны.
- Скрипты продления сертификатов и синхронизация DNS, связанная с аптаймом.
Шаги настройки heartbeat
- Создайте heartbeat-монитор с окном чуть длиннее типичного runtime задачи.
- Пингуйте только после успешного завершения — не в начале.
- Зафиксируйте владельца и ожидаемое расписание в runbook.
- Проведите контрольный тест, пропустив один запуск в окне обслуживания.
Пример алерта о пропущенном cron
Heartbeat пропущен: invoice-export не отправил пинг за 45 минут
Частые ошибки
- Мониторят только аптайм сервера, пока cron молча перестаёт работать.
- Heartbeat в начале задачи маскирует частичные сбои.
- Нет владельца, когда логи cron ротируются раньше, чем их прочитают.
Частые вопросы
Что такое heartbeat-проверка?
Задача пингует URL по завершении. Если пинга нет в ожидаемом окне, монитор может алертить команду.
Какие cron мониторить первыми?
Бэкапы, биллинговые выгрузки, импорты данных и cleanup, от которых тихо ломаются отчёты или хранилище.
SitePuls запускает cron?
Нет. Планировщик по-прежнему у вас. SitePuls только следит за внешним сигналом завершения.
Serverless может слать heartbeat?
Да, если функция по успешному завершению делает HTTPS-запрос на URL heartbeat.