Начать
Документация

Статусы и жизненный цикл чека

У heartbeat-чека пять статусов. Понимание переходов между ними объясняет, когда именно придёт алерт — и почему иногда он (правильно) не приходит.

Статус Что означает Алерты
newчек создан, ни одного пинга ещё не былонет
upпинги приходят вовремясобытие up при восстановлении после down
lateдедлайн (+ слак до 30 с) пропущен, идёт grace-периодсобытие late (если включено)
downgrace истёк либо задача явно сообщила о провалесобытие down + напоминания
pausedмониторинг выключен вручнуюнет

Почему new не алертит

Чек в статусе new не отслеживается планировщиком: дедлайна у него ещё нет — он появится только с первым пингом. Поэтому можно заранее создать чеки под будущие задачи (или раскатать конфигурацию деплоем): пока код не запушен и не пингует, ложных down не будет. Первый успешный пинг переводит чек в up и назначает первый дедлайн.

Дедлайн: period и cron

Дедлайн — момент, когда должен прийти следующий пинг. Считается от фактического времени последнего пинга:

Grace

Grace — допуск после дедлайна, страховка от дрожания расписания и долгих запусков: cron редко срабатывает секунда в секунду. Чек становится late не в саму секунду дедлайна, а спустя небольшой слак — дедлайн + min(grace, 30 сек): иначе минутный планировщик обгонял бы пинг, приходящий секундой позже расписания, и минутные cron-задачи мигали бы up↔late. Момент down слак не сдвигает — это по-прежнему дедлайн + grace_sec:

up ──(дедлайн + min(grace, 30 c))──▶ late ──(дедлайн + grace)──▶ down
 ▲                                                    │
 └────────────── любой успешный пинг ◀────────────────┘

При grace ≤ 30 сек late-окно схлопывается: порог late совпадает с моментом down, и чек переходит в down сразу. Grace задаётся на чек: от 0 до 30 дней. Переходы по времени выполняет планировщик с точностью до минуты. Алерт о down приходит в течение ~1–2 минут после истечения grace: просрочку находит минутный планировщик, сама доставка занимает секунды.

Мгновенный down

Явный сигнал провала минует grace: пинг на /<uuid>/fail или с ненулевым кодом выхода (/<uuid>/42) флипает чек в down сразу — задача сама сообщила, что упала, ждать нечего.

Восстановление, пауза и сброс

Нестабильные чеки (flap damping)

Чек, который часто прыгает между up и down («флапает»), способен за час прислать десятки одинаковых алертов. CronAlive гасит такой шторм автоматически:

late-алерты порог не двигают и не подавляются — это ранний сигнал. Ручные операции (пауза, возобновление, сброс) флипами не считаются. Значения по умолчанию: порог 6 смен, окно 1 час, тишина для выхода 30 минут.

Пауза, возобновление, удаление и назначение тегов работают и массово — отметьте чеки чекбоксами в списке. Со страницы чека доступны клонирование (конфигурация без истории) и перенос в другой проект аккаунта.

Статусы видны на дашборде, в API и на публичных бейджах; у HTTP-чеков вместо тайминга пингов работают K-подтверждения.