Справка и руководства ›
Heartbeat (cron мониторинг)
› Что такое heartbeat и когда использовать
Что такое heartbeat и когда использовать
3 мин чтения · Heartbeat (cron мониторинг)
Кратко: Heartbeat-монитор уведомит вас, когда какая-то задача (обычно ночной backup, ежедневный sync или другой cron job) перестанет работать. Работает наоборот, чем классический uptime-монитор - вы отправляете "ping" в сторону ePulz.io, а не мы на ваш сервер.
Когда heartbeat полезен
- Ночные backups базы данных - хотите знать, если ночью backup не удался
- Синхронизация с внешним сервисом - импорт из CRM, accounting, payment processor
- Регулярное выставление счетов - генерация счетов, отправка напоминаний
- Cleanup-задачи - удаление старых session, временных файлов, логов
- Отчёты и статистика - еженедельные/ежемесячные отчёты
- Healthcheck background workers - Celery, Sidekiq, BullMQ
Как это работает
- В ePulz.io создаёте heartbeat-монитор с ожидаемым интервалом (например, каждый час, каждую ночь в 3:00 и т. д.)
- Получаете уникальный heartbeat URL - выглядит как
https://epulz.io/heartbeat/abc123xyz - Этот URL добавляете в конец своего cron-скрипта / задачи
- Когда задача успешно завершится, "пингует" этот URL
- Если ping не придёт в ожидаемое время (+ grace-период), ePulz.io вас уведомит
Практический пример
Представим себе ночной backup базы данных, который работает каждый день в 3:00 утра и длится ~5 минут:
- Создаёте heartbeat-монитор с названием "Ночной DB backup", interval 1440 минут (24 часа), grace 15 минут
- В backup-скрипт добавляете: после успешного backup вызовите heartbeat URL
- Каждый день после 3:05 ePulz.io ожидает ping. Если не придёт до 3:15 (interval + grace), отправит вам оповещение
Ключевой принцип:
Heartbeat URL вызываете только после успешного завершения задачи. Если скрипт не удался, ping не пройдёт, ePulz.io узнает об этом и уведомит вас. Нет ping = сбой.
Interval vs Grace
- Interval - как часто должен приходить heartbeat (например, каждый час = 60 минут)
- Grace - толерантность, сколько ждать после ожидаемого времени, прежде чем запустить оповещение
Практические значения:
| Задача | Interval | Grace |
|---|---|---|
| Каждый час | 60 мин | 10 мин |
| Ежедневный backup (в среднем 20 мин длится) | 1440 мин | 60 мин |
| Еженедельный отчёт | 10080 мин | 6 часов |
| Каждые 5 минут worker check | 5 мин | 2 мин |
Начните
В следующем шаге показываем точную процедуру, как создать heartbeat-монитор в dashboard ePulz.io.