Skip to content

Python cron heartbeat (dead-man switch)

Ваш cron стал молча не запускаться. Нужен алерт, если скрипт пропустил окно выполнения.

Рецепт

python
import os, sys, requests

# После каждой успешной итерации cron — пинг heartbeat
HEARTBEAT = os.environ["HEARTBEAT_URL"]  # https://enterno.io/hb/<token>

def main() -> None:
    # ... ваша работа ...
    try:
        requests.post(HEARTBEAT, timeout=5)
    except requests.RequestException:
        pass  # не ломаем основной job из-за telemetry

if __name__ == "__main__":
    sys.exit(main())

То же самое в Enterno.io

Heartbeat-мониторы Enterno присылают алерт, если ping не пришёл в ожидаемое окно (например ±2 мин к ежечасной задаче). Никаких внешних контейнеров.

Настроить Heartbeat monitor → ← Все рецепты