First monitor free

Cron job monitoring with context, not just status.

Most tools tell you if your job ran. PingRudy tells you if it ran too long, processed zero records, or got stuck, before your users notice.

“It didn't error out, it just sat there for hours consuming resources until someone noticed manually.”

Your job ran. That doesn't mean it worked.

These are the failures that slip through every other monitoring tool.

Duration blindness

The Zombie Job

Your backup script ran for 4 hours instead of 4 minutes. No error was thrown. The server ran out of memory. Nobody knew until it crashed.

False positives

The Silent Success

Your job pinged success. It also processed 0 records and backed up 0 bytes. Everything looked green. Nothing actually happened.

No failure context

The Context Black Box

Your job failed. Your alert says "job failed." Now you SSH in, dig through logs, and lose 20 minutes reconstructing what happened.

Overlap detection

The Race Condition

The previous run hadn't finished when the next one started. Now two jobs are writing to the same database table at the same time.

Context-aware monitoring

We don't just check if your job ran. We check if it actually did anything.

Duration thresholds

Set a max run time. If your job takes 4 hours instead of 4 minutes, you get an alert, not a server crash.

Payload validation

Send records_processed, bytes_written, or any metric with your ping. Alert when the value is zero or out of range.

Log context on failure

Include a message in your ping payload. Failure alerts arrive with context. No SSH, no log archaeology.

Overlap detection

Ping /start and /end around your job. Get an instant alert when two instances run at the same time.

Duration deviation alerts

PingRudy learns your job's normal run time. Alert when it finishes too fast (processed nothing) or too slow (stuck).

One line to get started

Works from any shell, cron, or CI environment. No SDK required.

# Simple heartbeat
curl -fsS https://pingrudy.com/ping/my-backup-job

How it works

Set up in under two minutes. No agent to install, no SDK required.

1

Create a monitor

Give your job a name and set the expected schedule, duration window, and alert channels.

2

Add one line

Send a curl ping (with optional JSON context) at the end of your script. Works in any language or platform.

3

Get alerted with context

When a job is late, hangs, or processes zero records, you get an alert that tells you exactly what happened. No log diving required.

How we compare

Most tools only check if a job ran. PingRudy checks if it actually worked.

Feature
PingRudy
Healthchecks.ioCronitorDead Man's Snitch
Heartbeat monitoring
Duration limits
JSON payload validation
Log context in alert
Overlap detection
Free tier1 monitor20 monitors5 monitors1 monitor
Starting paid price$9/mo$20/mo$2/monitor$5/mo

Simple, transparent pricing

First monitor is free forever. Upgrade when you need more.

Free

$0

1 monitor

Email alerts

24-hour log retention

Get started free
Most popular
Solo

$9

/mo

10 monitors

Email + Slack alerts

30-day log retention

Duration thresholds

Payload validation

Start Solo
Pro

$19

/mo

Unlimited monitors

All alert channels

90-day log retention

Overlap detection

Start Pro

Frequently asked questions

Everything you need to know before you connect your first job.

Silent failures happen when a cron job runs without error but produces no useful output: no records processed, no files written, no emails sent. PingRudy catches these by letting you include a JSON payload with each ping (e.g. records_processed, bytes_written). If the value is 0 or outside your expected range, PingRudy alerts you before your users notice.

A zombie cron job is a job that started but never finished. It's still running (consuming memory or a DB connection) while the scheduler launches a new instance. PingRudy's overlap detection catches this: ping /start before your job begins and /end when it finishes. If a new /start arrives before the previous /end, you get an immediate alert.

Yes. Healthchecks.io is great for basic heartbeat monitoring (did the job run at all?), but it doesn't support duration limits, JSON payload validation, or log context in alerts. PingRudy is built for teams that need to know not just that a job ran, but that it did something meaningful within an expected time window.

Set a max_duration threshold on your monitor. When you ping /start, PingRudy starts a timer. If /end doesn't arrive within your threshold (e.g. 5 minutes for a job that normally takes 30 seconds), you receive a "job hanging" alert with a timestamp. No SSH needed..

Yes. Send a JSON body with your ping: { "status": "fail", "message": "DB connection refused", "records_processed": 0 }. PingRudy includes this context directly in your alert (email, Slack, PagerDuty), so you know why the job failed without digging through server logs.

Yes, PingRudy works anywhere you can run a curl command. That includes GitHub Actions steps, Railway cron services, Fly.io scheduled machines, Heroku Scheduler, AWS Lambda, Kubernetes CronJobs, and any other platform or language. No agent or SDK required.

Stop finding out too late

Join developers who monitor cron jobs the right way. First monitor free. No credit card required.