Cron-задачи

Cron-задача — «выключатель мёртвого человека»: ваш скрипт отмечается по ссылке после каждого запуска, и если отметка не пришла вовремя — приходит алерт. Так ловятся бэкапы, которые тихо перестали делаться, и зависшие фоновые задачи.

Как подключить

  1. «Cron-задачи» → новая задача: название, когда ждать и допуск.
  2. Скопируйте ссылку задачи и добавьте вызов в конец скрипта или строки crontab:
0 3 * * * /opt/backup.sh && curl -fsS https://test.assyr.nl/heartbeat/<id> > /dev/null

Ссылка сама по себе секрет: по ней любой может отметиться за задачу, поэтому не публикуйте её.

Когда ждать

  • Интервал — «раз в N минут, часов или дней», от 1 минуты до 31 дня.
  • Расписание cron — выражение как в crontab (0 3 * * *) и часовой пояс, в котором оно считается.
  • Допуск — на сколько отметка может опоздать: от 1 минуты до 7 дней. Для долгого бэкапа ставьте допуск с запасом на его длительность.

Задача, которая ни разу не отметилась, считается от момента создания: настроили и забыли подключить — тоже алерт.

Отметки начала

Для долгих задач можно отмечать и начало: …/heartbeat/<id>/start в начале скрипта и обычная ссылка в конце. Тогда на странице задачи видно, что запуск идёт и сколько он длится, а начатый, но не законченный запуск не засчитывается.

Страница задачи

  • Статус, следующий ожидаемый запуск, последняя отметка.
  • Отметки по часам за сутки и журнал: время, метод, IP, User-Agent.
  • Пауза — задача не ожидается (выключили намеренно), отметки всё равно пишутся.
  • Алерт «не отметилась вовремя» закрывается первой же отметкой: «✅ снова отмечается».

Если сервис сам был недоступен и срок прошёл в это время, задача не считается пропустившей: ждётся следующий запуск.