upti.my

Never Miss a Failed Job

Cron Job & Heartbeat Monitoring

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

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.

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

How Heartbeat Monitoring Works

upti.my 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.

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.

Frequently Asked Questions

How does heartbeat monitoring work?

Your cron job or scheduled task sends a ping to upti.my 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.

What if my job runs at irregular intervals?

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

Can I track how long jobs take?

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

What about jobs that run on multiple servers?

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

How do I send a heartbeat ping?

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.

Related Topics

Ready to start monitoring?

Set up your first health check in under 2 minutes. No credit card required.