Мониторинг cron, когда тихий сбой недопустим
Cron падает без фанфар. Уникальный URL в конце скрипта — если пинг не пришёл вовремя, открывается инцидент и уходят уведомления.
Почему cron падает молча
Коды возврата утекают в логи, которые никто не читает; кончается место на диске; протухают креды; плывёт время в планировщике. Пользователи замечают проблему, когда данные «ниже по цепочке» перестают обновляться.
Что здесь называется heartbeat
После успешной работы скрипт шлёт HTTP-запрос в SitePuls. Отдельный демон не нужен — достаточно curl или любого HTTP-клиента в конце задачи.
Нет ping — нет успешного запуска
Ожидаете запуск каждый час — задайте интервал и grace. Нет ping в окне — монитор в DOWN, уходят уведомления.
Примеры: бэкапы, синхронизации, отчёты
Ночные дампы БД, ETL, выставление счетов, прогрев кэша — всё, что должно срабатывать по расписанию, даже если никто не заходит в админку.
Зачем это рядом с мониторингом API
API-мониторы проверяют «наружу»; heartbeat — что фоновые и пакетные задачи реально отработали. Вместе закрывают синхронные и асинхронные сценарии.
Serverless и контейнеры
Если по завершении функция может вызвать HTTPS — она может отправить heartbeat.
Интервал и запас по времени
Долгим задачам нужны более широкие окна и больший grace, иначе алерт придёт при нормальной длительности прогона.
Чего SitePuls не делает
SitePuls не ставит распределённые блокировки между задачами и не заменяет разбор логов — он снаружи отвечает на вопрос: сработало ли расписание.
Вопросы и ответы
Это то же самое, что /heartbeat-monitoring?
Да: здесь тот же сценарий heartbeat, что и на странице /heartbeat-monitoring, но с акцентом на cron.
Один URL на несколько задач?
Заведите отдельный монитор на каждую задачу — так видно, какой пайплайн не отработал.
Какие каналы уведомлений?
Email, Telegram и webhook.
Могут ли задачи выполняться параллельно?
Порядок и параллельность задач настраиваете вы в планировщике; SitePuls видит только факт: пришёл ли ping в окно.
Что если задача иногда дольше интервала?
Увеличьте интервал или запас по времени (grace), чтобы покрыть худший по длительности прогон.
SitePuls сам запускает мой cron?
Нет. SitePuls только принимает ping; расписание и запуск cron по-прежнему на вашей стороне.
А планировщик заданий Windows?
Подойдёт всё, что может сделать HTTP GET/POST на URL heartbeat по завершении задачи.
С чего начать?
Создайте heartbeat-монитор, скопируйте URL в скрипт, задайте интервал и контакты.