Справка и руководства ›
Heartbeat (cron мониторинг)
› Что такое heartbeat и когда использовать
Что такое heartbeat и когда использовать
3 мин чтения · Heartbeat (cron мониторинг)
Кратко: Heartbeat-монитор уведомит вас, когда какая-либо задача (обычно ночное резервное копирование, ежедневная синхронизация или другое cron-задание) перестанет выполняться. Он работает в обратную сторону по сравнению с обычным монитором доступности: ping отправляете вы в сторону ePulz.io, а не мы на ваш сервер.
Когда heartbeat полезен
- Ночное резервное копирование базы данных - вы хотите знать, если ночью копирование не удалось
- Синхронизация с внешним сервисом - импорт из CRM, бухгалтерской системы или платёжного шлюза
- Регулярное выставление счетов - генерация счетов, отправка напоминаний
- Задачи очистки - удаление старых сессий, временных файлов и логов
- Отчёты и статистика - еженедельные/ежемесячные отчёты
- Проверка состояния фоновых процессов - 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-монитор с названием "Ночное копирование БД", интервал 1440 минут (24 часа), допуск 15 минут
- В скрипт копирования добавляете: после успешного копирования вызовите heartbeat URL
- Каждый день после 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.
Было ли это руководство полезным?