Healthchecks for Cron Job Monitoring

Scheduled jobs fail in boring ways. A backup script stops pinging. A cleanup task hangs for hours. A reporting pipeline exits early and nobody notices until another system breaks. Healthchecks is built for exactly this problem. It tracks pings from cron jobs and background tasks, then alerts you when they arrive late or do not arrive at all.
What is Healthchecks?
Healthchecks is an open-source cron job and background task monitoring service written in Python and Django. You can use the hosted service at healthchecks.io or self-host it with PostgreSQL or MySQL. For infrastructure teams, the appeal is simple: it watches the jobs that often sit outside your normal application metrics and catches failures that Prometheus alone may miss.
The project includes a live dashboard, cron-expression based schedules, configurable period and grace windows, status badges, and more than 25 notification integrations. It also supports self-hosted deployments with Docker images, SMTP-based notifications, and management commands for alert delivery and housekeeping.
Key Features
- Ping-based monitoring for cron jobs, workers, backups, and scheduled scripts
- Period and grace controls so late jobs do not page too early
- Cron expression support when fixed schedules are easier than heartbeat intervals
- Plenty of alerting integrations including email, webhooks, chat tools, and incident systems
- Self-hosted option for teams that want full control over data and operations
Installation
For a quick self-hosted evaluation, clone the project and start with the standard Django workflow:
git clone https://github.com/healthchecks/healthchecks.git
cd healthchecks
python3 -m venv .venv
source .venv/bin/activate
pip install wheel
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
./manage.py runserver
In another shell, start the alert worker so notifications can actually fire:
./manage.py sendalerts
Teams that prefer containers can also use the project's published Docker images.
Usage
Once you create a check, Healthchecks gives you a unique ping URL. Add it to the end of a cron job so every successful run reports back:
0 * * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://hc-ping.com/your-uuid
That tiny curl call adds a strong safety net. If the job never starts, exits before the ping, or runs outside the expected window, Healthchecks marks it late or down and notifies the right people.
Operational Tips
Use Healthchecks for tasks that are easy to forget but expensive to miss: backups, certificate renewal scripts, database maintenance, billing exports, and daily integrity checks. Set grace periods slightly above normal runtime so slow jobs do not create noisy alerts. If you self-host it, remember that sendalerts must stay running in production or notifications will never leave the box.
Conclusion
Healthchecks solves a narrow problem, but it solves it very well. For SRE and platform teams, that focus is a strength. It is lightweight, open-source, easy to test, and immediately useful in almost any environment that still depends on cron.
Looking for an AI-powered platform to enhance your SRE workflows? Check out Akmatori, an open-source AI agent designed for infrastructure teams. Built on Gcore infrastructure for reliable global performance.
