Справка и руководстваHeartbeat (cron мониторинг) › Что такое heartbeat и когда использовать

Что такое heartbeat и когда использовать

3 мин чтения · Heartbeat (cron мониторинг)

Кратко: Heartbeat-монитор уведомит вас, когда какая-либо задача (обычно ночное резервное копирование, ежедневная синхронизация или другое cron-задание) перестанет выполняться. Он работает в обратную сторону по сравнению с обычным монитором доступности: ping отправляете вы в сторону ePulz.io, а не мы на ваш сервер.

Когда heartbeat полезен

  • Ночное резервное копирование базы данных - вы хотите знать, если ночью копирование не удалось
  • Синхронизация с внешним сервисом - импорт из CRM, бухгалтерской системы или платёжного шлюза
  • Регулярное выставление счетов - генерация счетов, отправка напоминаний
  • Задачи очистки - удаление старых сессий, временных файлов и логов
  • Отчёты и статистика - еженедельные/ежемесячные отчёты
  • Проверка состояния фоновых процессов - Celery, Sidekiq, BullMQ

Как это работает

  1. В ePulz.io создаёте heartbeat-монитор с ожидаемым интервалом (например, каждый час, каждую ночь в 3:00 и т. д.)
  2. Получаете уникальный heartbeat URL - выглядит как https://epulz.io/heartbeat/abc123xyz
  3. Этот URL добавляете в конец своего cron-скрипта / задачи
  4. Когда задача успешно завершится, "пингует" этот URL
  5. Если ping не придёт в ожидаемое время (+ grace-период), ePulz.io вас уведомит

Практический пример

Представим себе ночной backup базы данных, который работает каждый день в 3:00 утра и длится ~5 минут:

  1. Создаёте heartbeat-монитор с названием "Ночное копирование БД", интервал 1440 минут (24 часа), допуск 15 минут
  2. В скрипт копирования добавляете: после успешного копирования вызовите heartbeat URL
  3. Каждый день после 3:05 ePulz.io ожидает ping. Если он не придёт до 3:15 (интервал плюс допуск), отправит вам оповещение
Ключевой принцип: Heartbeat URL вызываете только после успешного завершения задачи. Если скрипт не удался, ping не пройдёт, ePulz.io узнает об этом и уведомит вас. Нет ping = сбой.

Интервал и допуск (grace)

  • Интервал - как часто должен приходить heartbeat (например, каждый час = 60 минут)
  • Допуск (grace) - окно допуска: сколько мы ждём после ожидаемого времени, прежде чем отправить оповещение

Практические значения:

ЗадачаИнтервалДопуск
Каждый час60 мин10 мин
Ежедневное копирование (длится в среднем 20 мин)1440 мин60 мин
Еженедельный отчёт10080 мин6 часов
Проверка фонового процесса каждые 5 минут5 мин2 мин

Начните

На следующем шаге мы показываем точную процедуру создания heartbeat-монитора в панели ePulz.io.

Следующий шаг:

Создание heartbeat-монитора в ePulz.io.

Создать heartbeat-монитор →
Было ли это руководство полезным?