Interval
6h
Grace
30m
Last seen
2m ago
Heartbeat Monitoring
Background jobs fail silently. No error page. No stack trace. Just a process that stopped running and nobody noticed. Until the damage is done.
Every modern application depends on dozens of background tasks running on schedule. When one stops, nobody gets an error page. The damage accumulates silently.
Unrecoverable data loss if a failure goes unnoticed for days
Customers never receive order confirmations or password resets
Revenue leaks and angry customers from missed or duplicate charges
Dashboards show stale data, decisions made on wrong numbers
First visitors after deploy hit cold cache, pages take 8+ seconds
Disk fills up, temp files pile up, database bloats until it crashes
Stakeholders make decisions without current data, compliance gaps
Certificate expires, browsers block your site with security warnings
How it works
Traditional monitoring checks your systems. Heartbeat monitoring flips the model: your systems check in with us. If we do not hear from them within the expected window, something went wrong.
This catches failures that active monitoring cannot detect. A cron daemon that crashes produces no HTTP errors. A script that exits with code 0 but skips its main logic leaves no trace. A scheduling service that silently drops jobs from its queue gives no outward sign of trouble. The only evidence is the missing heartbeat.
Each heartbeat monitor gets a unique URL. Add a single HTTP request to the end of your script. If the script completes successfully, the request fires and resets the countdown. If it crashes, hangs, or never starts, the request never fires, the timer expires, and we alert your team through any of 16+ channels.
Try the interactive demo. Let the timer run out and watch what happens when a heartbeat goes missing. This is exactly what Pulse Stack™ does for every job you monitor.
Click the button before the timer expires
until expected
0
check-ins
#!/bin/bash
# Your existing cron job logic
/usr/local/bin/run-backup.sh
# Report success to Pulse Stack™
curl -fsS --retry 3 \
https://pulse.pulsestack.co.uk/h/abc123One line of code
No SDK. No library. No agent to install. Heartbeat monitoring is a single HTTP request appended to the end of your existing script. If you can run curl, you can monitor a cron job.
Place the request after your main logic so it only fires on success. If your backup script crashes on line 12, it never reaches the heartbeat call on line 47. The timer expires, and your Slack channel gets an alert within minutes.
Works with every language, every platform, and every cron implementation. Linux crontab, Windows Task Scheduler, systemd timers, Kubernetes CronJobs, AWS CloudWatch Events, GitHub Actions scheduled workflows, and more.
Your dashboard shows a 24-hour timeline of every monitored task. Green dots mark successful check-ins. Red marks missed heartbeats. Patterns emerge that terminal output cannot reveal.
Execution trends
Track whether your jobs are slowing down over weeks. A backup that took 4 minutes last month but takes 20 minutes today is heading toward a timeout failure.
Overlap detection
When two resource-heavy jobs run at the same hour, they compete for CPU and memory. The timeline makes scheduling conflicts visible so you can stagger them.
Coverage gaps
Some hours have no jobs running. Others have six running simultaneously. The visual timeline helps you balance load and ensure nothing is scheduled during maintenance.
Create a heartbeat monitor, copy the URL, add one line to your script. Done.
Real-world scenario
A SaaS company ran nightly database backups via a cron job on their primary server. The job exported the PostgreSQL database, compressed it, and uploaded it to S3. It had worked perfectly for two years.
During a routine server update, the system timezone changed from UTC to the server's local timezone. The cron daemon reloaded its schedule. The backup job, set to run at 0 3 * * *, now ran during peak traffic hours instead of 3 AM. The increased load caused the export to time out. The script exited with a non-zero code, but nobody checked exit codes. The S3 upload never happened.
Three weeks later, a developer accidentally dropped a production table. The team went to restore from backup. The most recent backup was 22 days old. They lost three weeks of customer data, order history, and configuration changes.
A single heartbeat ping at the end of that backup script would have triggered an alert on day one. The team would have known within minutes that the job failed, not three weeks later during a crisis.
22 days
of silent failure
3 weeks
of lost customer data
1 line
would have prevented it
From simple heartbeat pings to advanced payload validation, Pulse Stack™ covers every aspect of background task monitoring.
Set expected check-in periods from 30 seconds to 30 days. Each monitor runs independently with its own schedule, grace period, and alert configuration. Jobs that run every minute get the same precision as weekly reports.
Account for natural execution time variation. If your job usually takes 5 minutes but occasionally takes 12, set a grace period that absorbs those spikes without triggering false alerts. We recommend setting grace to at least 20% of your expected runtime.
Send a JSON body with your heartbeat containing metrics like rows processed, duration, or error count. Define validation rules that flag a job as failed even if it completed. A billing sync that processes zero invoices should not count as success.
Suppress alerts during scheduled downtime for deployments, migrations, or server maintenance. Set one-time or recurring windows. Monitoring resumes automatically when the window closes, so you never forget to re-enable it.
Send the first alert to Slack. If nobody acknowledges within 15 minutes, escalate to SMS. After 30 minutes, trigger a phone call. Build multi-step escalation chains that ensure critical failures reach someone, integrated with tools like PagerDuty and OpsGenie.
Every heartbeat is logged with its timestamp and payload data. View execution history across days, weeks, or months. Spot patterns like gradually increasing runtime or intermittent failures that only happen on weekends when traffic patterns change.
Monitor cron jobs across production, staging, and development environments from a single dashboard. Tag monitors by environment, project, or team. Filter views to focus on what matters right now without losing visibility into the rest.
Route alerts to the right people. Database backup failures go to the infrastructure team. Billing sync failures go to the payments team. Each monitor can have its own notification targets across any of the 16+ supported channels.
Silent failure modes
Cron jobs operate in a fundamentally different failure domain from web services. When a website goes down, users notice immediately. When a background job fails, the damage compounds invisibly until a human stumbles across the consequences.
The most common failure mode is not a crash. It is a job that exits cleanly but does nothing. A database export that connects but exports zero rows. A billing sync that skips records due to a schema change. A report generator that produces an empty PDF. These jobs report success to the scheduler because they did not throw an error. Heartbeat monitoring alone catches the first category of failures. Adding payload validation catches the second.
Infrastructure changes are another common trigger. Server updates that change the timezone or locale. Package upgrades that break a dependency. Disk space running out mid-execution. A new firewall rule that blocks outbound connections the script needs. Each of these causes the job to fail differently, but the result is the same: silence.
Website monitoring and API monitoring cover your public-facing services. Heartbeat monitoring covers everything else: the background processes, batch jobs, data pipelines, and scheduled tasks that keep your application running between user requests.
50 monitors free forever. Upgrade when you need faster checks or more capacity.
Most popular
£29/month
All plans include multi-location checks, incident management, and public status pages. Full plan comparison →
Heartbeat monitoring covers your background jobs. Add these for complete infrastructure visibility.
Everything you need to know about cron job and heartbeat monitoring.
Add one line of code to any script. Get alerted the moment it stops running. Free for 50 monitors, no credit card required.
Start heartbeat monitoring free