Missed jobs
If the expected ping does not arrive within the schedule plus grace period, SiteVitals opens an incident and alerts you.
Scheduled task monitoring
A cron job that fails silently is a problem you find weeks later, when you notice the backups haven't run, the reports are stale, or the database cleanup that was supposed to happen every night hasn't happened in a month. SiteVitals expects to hear from each job on schedule, and alerts you when one is missed or runs late.
Available on Marketer from £36.00/month.
What SiteVitals watches
Each task gets its own unique ping URL. Your job calls it when it succeeds, and SiteVitals watches the expected schedule around that signal.
If the expected ping does not arrive within the schedule plus grace period, SiteVitals opens an incident and alerts you.
A configurable grace period allows for normal timing variation without turning every small delay into an alert.
If a job can detect its own failure, call the /fail endpoint and SiteVitals alerts immediately rather than waiting for the schedule window to expire.
Send /start before a job begins and a success ping when it ends to record actual runtime and spot jobs that start but never finish.
Success rate, average runtime and maximum runtime are tracked over time so slower or less reliable jobs become visible.
When a missed job starts reporting again, SiteVitals closes the incident and sends a recovery notification automatically.
How it works
There is nothing to install. Add a task in SiteVitals, copy its unique URL, then call that URL from the job when it completes.
Give the job a name, tell SiteVitals how often it should run and choose how much lateness is acceptable.
Use a simple interval or a full cron expression.
Every monitor gets a unique URL. This is the address the job calls when it completes successfully.
GET and POST are both supported.
Call the URL only after successful completion. Optionally call /start before the job begins to measure runtime.
Works with bash, PHP, Python, Node, Ruby, Laravel and more.
If the expected ping does not arrive on time, SiteVitals opens an incident and alerts you. The next successful ping closes it automatically.
Email, Slack, webhook and in-app notifications are supported.
The silent failure problem
Scheduled jobs are designed to run in the background without anyone watching them. That is useful right up until one stops.
The absence of a job is often invisible. There may be no page error, no exception anyone sees and no obvious sign until the missing work begins causing another problem.
SiteVitals uses the dead man's switch principle: the job is expected to check in. If it does not, the silence itself becomes the alert.
01
A permissions change breaks the nightly backup. You find out when you actually need to restore something, unless the missing check-in is being watched.
02
A weekly report quietly stops generating after a software change. Meetings continue using old data because nobody knew the job had stopped.
03
Temporary files and expired sessions keep accumulating because the maintenance job stopped. Weeks later the disk fills up.
04
A scheduled import or API pull stops running, so the data people depend on becomes gradually more out of date without a visible failure.
Ping endpoints
Each monitor supports success, start, failure and log endpoints. That lets a simple job stay simple while more complex jobs can report richer context.
/ping/{slug}
Marks the job as completed successfully and resets the expected-run timer.
/ping/{slug}/start
Records when the job begins so SiteVitals can calculate runtime and identify jobs that start but never finish.
/ping/{slug}/fail
Reports an explicit failure and triggers an immediate alert without waiting for the missed-run window.
/ping/{slug}/log
Sends job output to SiteVitals so useful diagnostic information can sit alongside the incident.
Common use cases
Anything that can make an HTTP request can be monitored, including bash, PHP, Python, Ruby, Node, Laravel Scheduler, GitHub Actions and Jenkins.
Know within minutes if a nightly or hourly backup did not complete.
Watch imports, exports and synchronisation jobs that move data between systems.
Catch scheduled reports that stop updating before stale data reaches a meeting.
Make sure housekeeping jobs such as log rotation and temporary-file cleanup keep running.
Monitor subscription renewals, invoice generation and payment retry jobs.
Know when scheduled pulls from third-party APIs stop refreshing your own data.
If something isn't covered here, just ask us. We're a small team and we answer our own emails.
Get started with our free tools today. When you're ready for continuous cron_monitoring monitoring, our plans are simple, transparent, and built for sites of all sizes.