Cron Job Monitoring

Your cron job ran.
That's not the same as working.

Most tools only check if your job ran. They don't check if it worked. DeadManCheck catches all three failure modes — missing jobs, slow jobs, and jobs that run but produce nothing.

Start free — no card required See quickstart →

The three failure modes

Job stops running

The classic dead man's switch. Your nightly backup didn't ping. Your ETL didn't run. DeadManCheck alerts when expected pings go missing.

Job runs too long

Your 2-minute backup job is now taking 45 minutes. It will technically "succeed" — but something is wrong. DeadManCheck tracks duration and alerts on anomalies automatically.

Unique to DeadManCheck
📭

Job runs but does nothing

Exit code 0. On time. But it exported 0 rows, synced 0 records, or returned nothing. DeadManCheck checks whether your job actually produced real results — not just that it ran.

Unique to DeadManCheck

Two lines to set up

Add a ping to the end of your job. DeadManCheck handles the rest — no agents, no SDKs, no config files.

# Bash — missing ping alert
your-job.sh && curl -s https://deadmancheck.io/ping/your-token
# Duration monitoring — wrap with /start and /end
curl -s https://deadmancheck.io/ping/your-token/start
your-job.sh
curl -s https://deadmancheck.io/ping/your-token/end
# Output assertions — send job result as JSON (Developer+ plan)
curl -s -X POST https://deadmancheck.io/ping/your-token/end \
-H "Content-Type: application/json" \
-d '{"rows_exported": 1452, "status": "ok"}'

Everything included

Missing ping alerts
Alert via email, Slack, webhook, PagerDuty, or SMS when your job doesn't check in.
Duration monitoring
Learns your job's normal runtime. Alerts when it drifts — no manual thresholds needed.
Did it actually work?
Validate what your job produced on every ping. Alert when rows drop to zero, output is empty, or results don't match your rules.
Uptime monitoring
HTTP uptime checks included alongside your cron monitors. One dashboard for everything.
Public status pages
Free public status page for your monitors. Share a live status URL with your users or team.
Prometheus metrics
Scrape job health, last ping time, and duration stats directly into your existing metrics stack.
Open source & self-hosted
Run it yourself for free. Full source on GitHub. No vendor lock-in.
Flat monthly pricing
Not per-monitor. Add 200 monitors on the Developer plan — still $12/month.

How it compares

Feature DeadManCheck Healthchecks.io Cronitor
Missing ping detection
Long-running job detection automatic baseline ✓ automatic Manual grace period Manual only
Output assertions
Uptime monitoring
Public status pages ✓ free +$25/mo
Open source / self-hosted
Flat monthly pricing ✗ per-monitor
Prometheus metrics

Cron job not running? Job succeeded but did nothing? Duration spiking?

Whether you're dealing with a scheduled task that stopped running, a cron job that's taking too long, or a job that ran but returned no data — DeadManCheck covers all three.

Most cron monitoring tools were built to solve one problem: the missing ping. DeadManCheck was built to solve all three ways scheduled jobs fail — including the two that look like success.

Works with any stack

Bash / Shell Python Node.js GitHub Actions Docker Kubernetes CronJobs Laravel Scheduler Ruby on Rails Any language with curl

Dig deeper

Feature
Monitor long-running cron jobs
How automatic duration baseline learning works
Feature
Cron job output monitoring
Catch jobs that run but produce nothing useful
Compare
DeadManCheck vs Healthchecks.io
Side-by-side feature and pricing comparison
Compare
DeadManCheck vs Cronitor
Focused tool vs full monitoring platform
Platform
GitHub Actions monitoring
Monitor scheduled workflows that stop silently

Set up in under 5 minutes

Free plan includes 5 monitors. No credit card. No agent to install.

Start monitoring free →

Or self-host for free on GitHub