Cron job monitoring with heartbeat alerts
Know when scheduled jobs, backups, workers or imports stop running on time.
Heartbeat pattern for cron reliability
Your job calls a unique HTTPS URL when it finishes; SitePuls expects that ping inside a configured window.
Missed window means missed run
If no ping arrives (including grace), the monitor marks down and notifications can fire.
Good candidates to monitor
Backups, ETL pulls, invoice generation, cache warming—work that must run even when no one is watching dashboards.
Alert channels
Email, Telegram, and webhooks—same alert contacts as uptime and API monitors.
Separate monitors per job
Each cron pipeline gets its own heartbeat URL so you know which job failed.
Tune interval and grace
Long-running jobs need longer windows to avoid false alerts during normal runtime.
Complements API monitoring
API checks validate online surfaces; heartbeats validate batch work that feeds the system.
What SitePuls does not do
It does not run your cron or replace log search—it reports when the external heartbeat signal stops.
What you can verify with SitePuls here
- Watches scheduled jobs, backups and imports that should report on time.
- Detects missed heartbeats when background work stops pinging.
- Alerts when cron jobs or workers stop reporting.
Where incident alerts can go
- Email addresses saved as alert contacts receive messages when incidents open or resolve (according to your notification settings).
- Telegram notifications via the SitePuls bot after you link a chat to an alert contact (including the bot /start flow for pending contacts).
- HTTPS webhooks that receive JSON with event type, monitor identifiers, status, timestamp, optional incident id, and a short message for generic integrations.
- Slack-compatible incoming-webhook formatting: alert contacts can use a dedicated mode so payloads match Slack-style incoming webhook expectations.
Practical monitoring guide
Example content below is illustrative — values are placeholders, not live customer data.
Cron monitoring workflow
- List jobs that must run on schedule and who owns each one.
- Add a heartbeat ping at the end of each successful job.
- Route missed-heartbeat alerts to the same channel as uptime incidents.
Example heartbeat call (illustrative)
# After your cron job finishes successfully:
curl -fsS -X POST "https://heartbeat-endpoint.example/ping"
# Use the URL shown in your SitePuls heartbeat monitor — do not embed tokens in source code.
Common mistakes
- Relying on log files alone when nobody reads them daily.
- No alert when a job stops running but the website stays online.
- Heartbeats sent at job start instead of after successful completion.
Frequently asked questions
How does cron job monitoring work?
A scheduled job sends a heartbeat. If the heartbeat is missed, SitePuls can alert your team.
What jobs should I monitor?
Backups, imports, workers, cleanup scripts and other scheduled jobs are good candidates.
What happens when a cron job fails?
SitePuls can notify your team so you can investigate before the failure affects users or reports.
Is this the same as heartbeat monitoring?
Yes—the same heartbeat monitor type, with cron-focused guidance on this page.
One URL for multiple jobs?
Use separate monitors per job so you know which pipeline failed.
Serverless functions?
If the function can HTTPS-call the URL on completion, it can send a heartbeat.
Does SitePuls run my cron?
No—your scheduler still runs work; SitePuls only receives completion pings.
How do I start?
Create a heartbeat monitor, add the URL to your script, set interval and contacts.