Довідка та інструкції ›
Heartbeat (cron моніторинг)
› Що таке heartbeat і коли використовувати
Що таке heartbeat і коли використовувати
3 хв читання · Heartbeat (cron моніторинг)
Стисло: Heartbeat монітор сповістить вас, коли якесь завдання (типово нічний backup, денний sync або інший cron job) перестане виконуватися. Працює навпаки відносно класичного uptime монітора - ви надсилаєте "ping" у бік ePulz.io, а не ми на ваш сервер.
Коли heartbeat корисний
- Нічні backup-и бази даних - бажаєте знати, якщо вночі backup не вдасться
- Синхронізація із зовнішнім сервісом - імпорт з CRM, accounting, payment processor
- Регулярне виставлення рахунків - генерація рахунків, надсилання нагадувань
- Cleanup завдання - видалення старих session, тимчасових файлів, логів
- Звіти і статистика - щотижневі/щомісячні звіти
- Healthcheck фонових 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", інтервал 1440 хвилин (24 години), grace 15 хвилин
- До backup скрипту додасте: після успішного backup викликайте heartbeat URL
- Щодня після 3:05 ePulz.io очікує ping. Якщо не прийде до 3:15 (interval + grace), надішле вам сповіщення
Ключовий принцип:
Heartbeat URL викликаєте лише після успішного завершення завдання. Якщо скрипт не вдасться, ping не пройде, ePulz.io про це дізнається і сповістить вас. Жодного ping = збій.
Interval проти Grace
- Interval - як часто має приходити heartbeat (напр. кожну годину = 60 хвилин)
- Grace - толерантність, скільки чекати після очікуваного часу, перш ніж запустимо сповіщення
Практичні значення:
| Завдання | Interval | Grace |
|---|---|---|
| Щогодини | 60 хв | 10 хв |
| Щоденний backup (триває в середньому 20 хв) | 1440 хв | 60 хв |
| Щотижневий звіт | 10080 хв | 6 годин |
| Кожні 5 хвилин worker check | 5 хв | 2 хв |
Розпочніть
У наступному кроці показуємо точну процедуру як heartbeat монітор створити в дашборді ePulz.io.