What is heartbeat monitoring and how does it work?+
Heartbeat monitoring works on a dead man's switch principle. You configure a monitor with an expected check-in interval, and your cron job or scheduled task sends an HTTP request to a unique URL after each successful run. If PulseStack™ does not receive the heartbeat within the expected window plus a grace period, it marks the job as failed and triggers your configured alerts. This catches silent failures that produce no error output.
How do I add heartbeat monitoring to an existing cron job?+
Add a single HTTP request to the end of your script. For a bash script, append curl -fsS --retry 3 followed by your unique heartbeat URL. For Python, add a requests.get() call. For Node.js, use fetch(). The request takes milliseconds and confirms the job completed successfully. If the script crashes before reaching that line, the heartbeat never fires and PulseStack™ alerts you.
What is the difference between heartbeat monitoring and uptime monitoring?+
Uptime monitoring actively checks your services at regular intervals by sending requests to your endpoints. Heartbeat monitoring is passive. It waits for your systems to check in. Uptime monitoring watches public-facing services like websites and APIs. Heartbeat monitoring watches internal processes like cron jobs, batch imports, data pipelines, and backup scripts that have no public endpoint to check.
Can I monitor cron jobs that run on different schedules?+
Yes. Each heartbeat monitor has its own expected interval and grace period configured independently. You can monitor a job that runs every minute alongside one that runs weekly. The interval tells PulseStack™ how often to expect a check-in, and the grace period accounts for natural variation in execution time. Set the grace period to at least 20% of your expected runtime.
What happens if my cron job runs but produces incorrect results?+
Heartbeat monitoring confirms execution, not correctness. For validation, add checks to your script so the heartbeat only fires on success, for example when the exit code is zero or when the job processed at least one record. A job that runs but fails your own checks then skips its heartbeat, so PulseStack™ still raises an alert.
How quickly does PulseStack™ alert on a missed heartbeat?+
Alerts fire as soon as the expected interval plus grace period expires without a check-in. For a job that runs every 5 minutes with a 2-minute grace period, you will be alerted within 7 minutes of a failure. Alerts go through any of the 8 native channels, including email, SMS, Slack, PagerDuty, and webhooks. There is no additional polling delay.
Can I pause heartbeat monitoring during maintenance windows?+
Yes. You can schedule maintenance windows that suppress alerts during planned downtime. This prevents false alarms when you intentionally stop services for deployments, migrations, or server maintenance. You can set one-time windows or recurring windows for regular maintenance schedules. Monitoring resumes automatically when the window ends.
Does heartbeat monitoring work with serverless functions and cloud jobs?+
Yes. Heartbeat monitoring works with AWS Lambda scheduled events, Google Cloud Scheduler, Azure Timer Triggers, Vercel Cron, Railway cron jobs, and any other serverless or managed cron service. Since these platforms handle scheduling externally, heartbeat monitoring is often the only way to verify that the function actually executed and completed without errors.
How many cron jobs can I monitor on the free plan?+
Heartbeat monitors are not part of the free plan, which covers 5 HTTP monitors with 5-minute checks. Heartbeat monitoring starts on Starter, which includes 50 monitors, and each cron job you want to track uses one of them. The shortest expected interval is 60 seconds on Starter and 30 seconds on Pro, Team and Enterprise, which also raise the monitor limit. Every paid plan has a 14-day free trial with no card needed.
Can I see a history of when my cron jobs ran?+
Yes. PulseStack™ logs the timestamp of every heartbeat received. The dashboard shows a timeline of successful check-ins, missed windows, and alert events, and check history is kept for 30 days, so you can spot patterns such as a job checking in later than usual before it causes failures.