Monitor cron jobs when silent failures are not an option

Cron jobs don’t send push notifications when they fail—they just stop running. Heartbeat monitoring gives you a unique URL to ping when a job finishes; if the ping doesn’t arrive in time, SitePuls opens an incident and alerts your contacts.

Why cron fails silently

Exit codes go to logs nobody reads; disks fill; credentials expire; scheduler clocks drift. Users only notice when downstream data stops updating.

What a heartbeat actually is here

An HTTP request from your script to SitePuls after successful work. No daemon to install—curl or any HTTP client at the end of the job.

Missed heartbeat = missed execution

If you expect a job every hour, configure the expected interval and grace. No ping in that window means the monitor goes DOWN and notifications fire.

Examples: backups, syncs, reports

Nightly database dumps, ETL pulls, invoice generation, cache warming—anything that must run on a cadence even if no one logs in.

Why this pairs with API monitoring

API checks validate the online surface; heartbeats validate batch work that feeds the system. Together they cover sync and async paths.

Serverless and containers

If your function can call HTTPS when it completes, it can send a heartbeat.

Tuning intervals and grace

Long jobs need longer windows; otherwise you’ll alert during normal runtime. Set grace to absorb variance.

What SitePuls doesn’t do

It doesn’t coordinate distributed locks between jobs or replace log-based debugging—it tells you the schedule failed from the outside.

FAQ

Is this the same as /heartbeat-monitoring?

Yes—this page explains the cron use case for the same heartbeat feature.

One URL for multiple jobs?

Use separate monitors per job so you know which pipeline failed.

Alert channels?

Email, Telegram, and webhooks.

Can jobs overlap?

Serialization is your scheduler’s job; SitePuls only sees whether a ping arrived in the window.

What if my job is slower than the interval?

Increase interval or grace to match worst-case runtime.

Do you run my cron for me?

No—SitePuls only receives pings; your infrastructure still schedules work.

Can I monitor Windows Task Scheduler?

Anything that can HTTP GET/POST the heartbeat URL on completion works.

How do I start?

Create a heartbeat monitor, copy the URL into your script, set interval and contacts.