Cron не повідомляє про збої. Job падає, розклад продовжує рухатися далі, і ви дізнаєтеся про це через кілька днів від клієнта. HelloCron очікує пінг від кожного запуску і сповіщає вас протягом 60 секунд, коли один із них не приходить.
Кожен запуск повідомляє run на старті, потім complete чи fail при завершенні. Два додаткові виклики у вашому crontab: цього достатньо. Без агента, без демона, без бібліотеки для встановлення.
З цих пінгів HelloCron будує хронологію для кожного job'а: тривалості, exit-коди, історію збоїв. Запуск, що почався і ніколи не завершився, теж рахується як збій.
*/5 * * * * root hellocron ping db-backup run; /opt/backup.sh && hellocron ping db-backup complete || hellocron ping db-backup fail
Впалий сервер не надсилає жодного пінгу fail. HelloCron знає очікуваний інтервал кожного job'а і чекає додатковий пільговий період, щоб поглинути звичайні коливання. Коли це вікно закривається без пінгу, ви отримуєте сповіщення про пропущений запуск.
Обидва значення ви налаштовуєте самі для кожного монітора. Нічний бекап із 15-хвилинним пільговим періодом поводиться інакше, ніж job синхронізації, що виконується кожні 5 хвилин із 60-секундним пільговим періодом.
Клієнт hellocron.sh обгортає вашу команду: надсилає run, виконує job, вимірює тривалість, захоплює exit-код та останні рядки stderr, потім завершується complete чи fail. Ви змінюєте одне слово у crontab, а не свій скрипт.
Уже маєте повний crontab? Команда discover читає його і створює монітор для кожного знайденого job'а, беручи розклад безпосередньо з cron-виразу.
# обгортаємо будь-який job: захоплюємо exit-код, тривалість і stderr hellocron.sh run db-backup -- /opt/backup.sh # імпортуємо наявний crontab як монітори hellocron.sh discover /etc/crontab
Так. Будь-що, що може надіслати HTTP-запит, може надіслати пінг: таймери systemd, Kubernetes CronJobs, задачі Airflow, GitHub Actions, Планувальник завдань Windows. HelloCron бачить лише пінги, а не планувальник за ними.
Кожен пінг: це одна подія: run, complete, fail чи skip. Job, що надсилає run і complete раз на годину, генерує близько 1 440 подій на місяць, тож 50 000 подій на плані Free покривають десятки job'ів.
API починає повертати HTTP 402, і нові пінги не приймаються до скидання місяця або оновлення плану. Нічого не видаляється; панель і ваша історія залишаються доступними весь час.
Зареєструйтеся, отримайте API-ключ, вставте curl у свій cron. Ось і все.