Heartbeat и мониторинг cron

Пингуйте SitePuls после выполнения задачи. Если пинг пропал — алерт: бэкапы, импорты и фоновые процессы.

Зачем heartbeat

Cron и фоновые воркеры падают тихо, пока сайт открывается. Сигнал «я отработал» после задачи подтверждает расписание.

Как это устроено

Выдаём уникальный URL; скрипт дергает его curl или HTTP после успеха. Если запроса нет в окне интервал+льгота — монитор DOWN и алерт.

Какие задачи сторожить

Бэкапы, ночные синки, очистки, отчёты, дренаж очередей — всё, что должно происходить по расписанию без ручного контроля.

Алерты

Те же каналы, что и у остальных мониторов; история показывает пропуски.

Что можно проверять в SitePuls на этой странице

  • У каждого heartbeat — уникальный URL, который вызывает задача по заданному расписанию.
  • Пропуски в окне ожидания (с учётом grace) помечают монитор как недоступный до следующего успешного запроса.
  • Типичные сценарии: cron, воркеры очередей и другие задачи с исходящим HTTPS-запросом к URL heartbeat.

Куда уходят оповещения об инцидентах

  • Адреса электронной почты в контактах получают письма при открытии и закрытии инцидентов (в рамках настроек уведомлений).
  • Уведомления в Telegram через бота SitePuls после привязки чата к контакту (включая сценарий /start для ожидающих контактов).
  • HTTPS-вебхуки с JSON: тип события, идентификаторы монитора, статус, время, при необходимости id инцидента и короткое сообщение — для своих интеграций.
  • Режим Slack-compatible incoming webhook: отдельный формат полезной нагрузки в настройках контакта.

Без агента

Только исходящий HTTPS из вашей среды — ВМ, контейнеры, serverless при разрешённом исходящем.

С API мониторингом

API проверяет внешний HTTP; heartbeat — что фоновая работа завершилась.

Внутренние задачи

Удобно для процессов без красивого публичного URL — важен факт check-in.

Чек-лист

Создать монитор, скопировать URL, добавить в конец cron, настроить интервал и льготу под длительность, привязать контакты.

Частые вопросы

Что такое heartbeat-мониторинг?

Heartbeat-мониторинг проверяет, что ваш cron или запланированная задача выполняется вовремя. Задача отправляет сигнал (например HTTP-запрос) в SitePuls; если сигнал не пришёл в ожидаемый интервал, вы получаете алерт.

Как добавить heartbeat в cron?

Создайте heartbeat-монитор в SitePuls и получите уникальный URL. Добавьте в конец скрипта cron вызов curl или HTTP на этот URL. При запуске задача пингует SitePuls; при отсутствии пинга вы получите алерт.

Зачем нужен heartbeat-мониторинг?

Cron может тихо падать. Heartbeat-мониторинг сообщает, когда задача не выполнилась, чтобы вы могли исправить скрипт, права или планировщик. Дополняет мониторинг аптайма и API для полного покрытия.

Задача иногда дольше интервала?

Увеличьте интервал или льготу под худший случай длительности.

Подходит ли serverless?

Да, если по завершении функция может вызвать HTTPS URL.

Заменяет ли это алерты по логам?

Heartbeat отвечает «была ли задача по расписанию»; логи — «что внутри». Часто нужны оба.

Один URL на несколько задач?

У каждого монитора свой URL — так видно, какой пайплайн пропал.

Нельзя ли запускать задачи параллельно?

Исключение гонок настраивается в планировщике; SitePuls не блокирует задачи между собой.