Cron Monitoring

Never miss a failed cron job again.

SiteVitals Cron Monitoring watches your scheduled tasks by listening for heartbeat pings. If a job fails to check in on time — or reports an explicit failure — you get alerted immediately via email, Slack, webhook or in-app notification.

How it works

Your cron job sends a simple HTTP request to a unique SiteVitals ping URL after each run. SiteVitals tracks every ping and knows exactly when to expect the next one. If the ping doesn't arrive within the expected window (plus a configurable grace period), the monitor moves to down status and triggers your alert channels.

You can also send /start signals before the job begins, letting SiteVitals measure the actual runtime and detect stuck jobs that started but never finished.

What you can monitor

Scheduled tasks
Backups, report generation, queue workers, data syncs, clean-up scripts — anything that runs on a schedule.
📊
Runtime & memory
Optionally send runtime, memory usage and exit codes with each ping for performance tracking over time.
🚨
Explicit failures
Jobs can report failure directly via the /fail endpoint, triggering an immediate alert without waiting for a missed schedule.
📝
Log output
POST the output of your job for diagnostic context when something goes wrong.

Key features

  • Simple or cron schedule — Define expected intervals (every 5 minutes, every hour, every day) or use a full cron expression for complex schedules.
  • Grace periods — Configurable buffer time before a missed ping triggers an alert, so minor delays don't cause false alarms.
  • Start/finish tracking — Send a /start ping before the job and a success ping after. SiteVitals calculates the duration automatically.
  • Multi-channel alerts — Email, Slack webhooks, custom webhooks and in-app notifications. Configure as many channels as you need per monitor.
  • 30-day statistics — Success rate, average runtime, max runtime and a runtime chart on each monitor's dashboard.
  • Link to a site — Optionally associate a cron monitor with one of your monitored sites for organisational context.
  • Regenerable ping URLs — If a URL is compromised, regenerate the slug instantly. The old URL stops working immediately.
  • Pause and resume — Temporarily disable monitoring without deleting the monitor or its history.

Ping URL structure

Each monitor gets a unique URL based on an 8-character slug:

/ping/{slug} → success
/ping/{slug}/start → job started
/ping/{slug}/fail → explicit failure
/ping/{slug}/log → log entry (POST only)

These endpoints accept both GET and POST requests (except /log which is POST only) and return a plain OK response. There is no authentication beyond the slug itself — no cookies, sessions or API keys are required, keeping overhead to an absolute minimum.

Get started

Create your first cron monitor and integrate it with your scheduled tasks in under two minutes.