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.