Silence Detection

Know the Moment Your
System Goes Silent

Your cron job, background worker, or data pipeline should check in every few minutes. When it doesn't — NotiLens pages you instantly, before your users notice anything is wrong.

✓ No credit card  ·  ✓ 5-minute setup  ·  ✓ Configurable silence window

Monitor any recurring job or system
Cron Jobs
Background Workers
Data Pipelines
API Health Checks
ETL Jobs
ML Training Runs
Backup Scripts
Scheduled Reports

Cron jobs fail silently

A missed lock file, a killed process, a server reboot — your cron job stops running and nothing in your stack raises an alarm. The job just... stops.

Uptime monitors miss the gap

HTTP uptime checks confirm your server responds. They don't know whether the nightly backup ran, whether the invoice sync completed, or whether the queue is draining.

Users are your accidental monitor

Without heartbeat monitoring, the first signal that something stopped is a support ticket. By then the silence has lasted hours — and the damage is done.

Your system checks in. If it doesn't — you're paged.

Add one line to your job that sends a heartbeat to NotiLens on each run. Configure the expected interval. If the heartbeat is late — push notification on your phone.

  • Configurable silence window — 1 min to 24 hrs
  • Instant push when deadline is missed
  • ACK the alert to confirm you're investigating
  • Works with any language via HTTP or SDK
  • Per-topic thresholds — tight for payments, relaxed for reports
Missed Heartbeat
daily-invoice-sync — silent
crons · 8 min ago
Warning
Expected a heartbeat every 5 min. No check-in for 8 minutes.
05:00 — heartbeat received
05:05 — heartbeat received
05:10 — missed (deadline)
05:13 — you were paged ↑

Add heartbeat monitoring in 3 minutes

One line at the end of your job. NotiLens does the rest.

1

Create a heartbeat topic

In your NotiLens dashboard, create a topic and enable Silence Detection. Set the expected check-in interval — e.g. every 5 minutes.

2

Add one line to your job

At the end of your cron job or background worker, call nl.notify('job-name', 'done'). That's the heartbeat.

3

Get paged if it's late

If NotiLens doesn't receive the heartbeat within your configured window, it pushes an alert to your phone immediately. No polling needed on your end.

Silence is a signal too.
Start listening to it.

The most dangerous failures don't throw errors. They just stop. NotiLens tells you when that happens.

✓ Configurable per topic  ·  ✓ Push alert in < 60s of missed deadline

The simplest dead man's switch you'll ever set up

1 line

added to your job to register a heartbeat — just call nl.notify() at the end

< 60s

to receive a push alert after a missed heartbeat deadline — caught before your users notice

Per topic

silence thresholds — tight for payment jobs, relaxed for weekly reports, everything configured separately

Heartbeat monitoring — common questions

What's the difference between heartbeat monitoring and uptime monitoring? +
Uptime monitoring checks that your server or URL responds to HTTP requests. Heartbeat monitoring checks that a specific process — a cron job, a background worker, a pipeline — actually ran and completed. A server can be fully "up" while every scheduled job on it has silently stopped.
How do I send a heartbeat from a cron job? +
Add one line at the end of your job: nl.notify('job-name', 'completed') using the NotiLens SDK, or a plain HTTP POST to your topic's webhook URL. NotiLens records the timestamp. If the next heartbeat is late, you're alerted.
What happens if my job runs faster or slower than expected? +
You set the silence window per topic — e.g. "alert me if no heartbeat for 8 minutes" for a 5-minute cron. NotiLens only pages you if the gap exceeds your configured threshold, so occasional variance in job duration won't cause false alarms.
Can I monitor multiple jobs independently? +
Yes. Each topic in NotiLens has its own silence detection configuration. You can have one topic for your 5-minute invoice sync (tight threshold), another for your nightly backup (24-hour threshold), and another for your hourly report — all monitored independently.
Does this work for long-running jobs, not just short crons? +
Yes. For long-running jobs you can send progress heartbeats throughout — e.g. every 5 minutes while processing. NotiLens alerts if the in-progress pings stop arriving, which means the job likely crashed mid-run rather than completing.

Stop finding out about silent failures from your users

Set up heartbeat monitoring in 5 minutes. Free to start.

Start Monitoring Free