Never Miss a Failed Job

Cron Job & Heartbeat Monitoring

Your nightly backup job stopped running 3 weeks ago. When did you notice? Uptimy heartbeat monitoring tells you immediately when scheduled tasks fail to run.

02:00 · the nightly import didn’t run. Nobody noticed.
nightly-import
heartbeat · every 24h · 10m grace
Operational
  1. 01:59:58ping received · run took 3m 12s

03:07 · the problem

The Silent Failure Problem

Cron jobs and background workers are the most neglected parts of any system. They don't have URLs to ping. When they fail, nothing alerts you. Then weeks later you realize backups haven't run or invoices haven't been sent.

Schedule Monitoring

Know if jobs run on schedule or skip runs.

Duration Alerts

Catch jobs that run too long or hang.

Heartbeat Pings

Simple HTTP call confirms job ran successfully.

Flexible Windows

Works with fixed schedules or variable intervals.

03:08 · where it breaks

Common Cron Job Failures

Real failures that went unnoticed for days or weeks:

  • ✗Server reboot where the cron daemon didn't restart, so no jobs ran for 2 weeks
  • ✗Disk full causing the backup job to fail silently every night
  • ✗Script error with a syntax error after edit, so cron exits immediately
  • ✗Job hanging because a database lock causes it to run for 12 hours

07:30 · how Uptimy fixes it

How Heartbeat Monitoring Works

Uptimy gives each monitored job a unique endpoint. When your job runs, it pings the endpoint. If the ping doesn't arrive on schedule, you get alerted.

Simple Integration

One curl command at the end of your script.

Grace Periods

Allow for job variance before alerting.

Duration Tracking

Start and end pings track job duration.

Exit Code Reporting

Report success or failure status with each ping.

10:00 · set it up

Getting Started

Set up cron job monitoring in the dashboard:

  1. 1

    Create a Heartbeat Monitor

    Give it a name like "Nightly Backup" or "Invoice Job". You'll get a unique ping URL.

  2. 2

    Set Your Schedule

    Enter your cron schedule and timezone. We'll expect a ping within your configured grace period.

  3. 3

    Add the Ping to Your Script

    Copy the one-liner and add it to the end of your cron script. Just a simple curl or wget.

  4. 4

    Track Duration (Optional)

    Use start/end pings to track how long jobs take. Get alerted if jobs run too long or never finish.

17:00 · questions

Frequently Asked Questions

Your cron job or scheduled task sends a ping to Uptimy when it runs. If we don't receive the ping within the expected window, we alert you. It's like a dead man's switch for your jobs.

You can configure flexible windows. Set 'expect within 5 minutes of schedule' or 'expect at least once per hour'. Uptimy adapts to your job's patterns.

Yes. Send a start ping when the job begins and an end ping when it completes. Uptimy tracks duration and alerts if jobs run too long or never finish.

Each server can ping with a unique identifier. Uptimy tracks which instances are running and alerts if any stop checking in.

A simple HTTP GET or POST to your unique endpoint. Curl, wget, or any HTTP client works. Add it to the end of your cron script.

20:00 · keep exploring

Related Topics

23:00 · goodnight

All systems operational

Stop wondering if production is okay.

Tonight, if something breaks, you will know first — with the context to fix it and a status page that keeps customers informed. And if nothing breaks, you get to sleep.

Free plan available · No credit card required · Cancel anytime