Dead man's switch for cron

Know the instant a job stops checking in

Deadpulse watches for the ping that should arrive on schedule. Backups, cron jobs, workers — when one goes quiet past its grace window, you get paged. Monitoring by absence, not by polling.

Free tier · 20 jobs · no card required

deadpulse/core-platform
live
Checks · 6Last ping
Nightly Postgres backup
0 3 * * *
Up
6 hours ago
Hourly invoice sync
every 1 hour
Late
1 hr 9 min ago
Search index rebuild
*/30 * * * *
Down
2 hr 14 min ago
Daily analytics rollup
15 5 * * *
Up
4 hours ago
TLS certificate renewal
0 0 * * 1
Up
3 days ago
Queue drain worker
every 5 min
Up
2 min ago
$deadpulse tail --project core-platform
one line at the end of your job
0 3 * * *  pg_dump … | upload && curl -fsS https://ping.deadpulse.io/7Qa2…
No agent. No SDK. Just an HTTP call.

Trusted to watch the jobs that matter at

NorthwindFathomLoomtideCinderpeakAster LabsBright Meridian
How it works

Three steps from cron job to on-call peace of mind

Add one HTTP call to a job you already run. Deadpulse handles the watching.

01

Create a check

Each check hands you a unique, unguessable ping URL. No agent, no code beyond one HTTP call.

$ deadpulse checks create nightly-backup
02

Ping when the job finishes

Add the URL as the last line of your cron job, backup script, or worker loop.

0 3 * * * backup.sh && curl -fsS $PING_URL
03

Get paged when it goes quiet

Miss the window by more than the grace time and Deadpulse alerts every channel you assigned.

→ DOWN nightly-backup no ping in 24h 30m
Period + grace

A health state you can actually reason about

Set how often a job should report and how much lateness you tolerate. Deadpulse derives the rest — and only pages you when the deadline truly passes.

  • Fixed interval or full cron expression with a timezone
  • A grace window so a slow run never false-alarms
  • A distinct 'new' state until the first ping lands
  • Recovery alerts when the job comes back to life
Check lifecycleperiod + grace = deadline
New

Created, no ping received yet.

Up

Last ping arrived on time. Healthy.

Late

Past the period, still inside grace.

Down

Period + grace exceeded. Alerts fire.

The console

Built for people who live in a terminal

Every surface reads like a well-kept status line — dense, precise, and quiet until something needs you.

Ping-based checks

A unique, hard-to-guess URL per job. A request marks it seen — nothing else to install.

Cron & interval schedules

Fixed periods for loops, real cron expressions with timezones for calendar jobs.

Per-check event log

A chronological trail of received signals and sent alerts. See if a job never ran or ran and died.

Multi-channel alerts

Email, chat, webhooks, push, SMS, phone, and incident tools — assigned per check.

Live dashboard

Tag, filter, and group checks. The list reflects new signals without a page reload.

Public status badges

A stable, unguessable badge per tag — embed the health of a group anywhere.

Notifications

Reach the right human, on the right channel

Wire a down (and recovery) event to as many channels as you like. Setup guides walk each one.

Email
Built in

Down and recovery alerts to any inbox or distribution list.

Team chat
OAuth

Post to a workspace channel via a hosted authorization flow.

Incoming webhook
Webhook URL

Paste a provider webhook URL for chat tools that support them.

Generic webhook
Webhook URL

Fire a signed JSON payload at your own endpoint on every event.

Mobile push
Device

Per-event priority levels, with emergency push that ignores quiet hours.

SMS & WhatsApp
Built in

Text-message escalation drawn from your monthly message credits.

Phone call
Built in

An automated voice call for the alerts that must not be missed.

Incident management
OAuth

Open, acknowledge, and resolve incidents on your on-call platform.

From the on-call rotation

The alert you hope never fires — and are grateful when it does

A backup silently stopped writing for nine days. Deadpulse caught the missing ping the very first night — before we ever needed the restore.

AO
Avery Okonkwo
SRE Lead, Northwind

One curl at the end of each cron job and I finally sleep through the night. The dead man's switch is exactly the right mental model.

PR
Priya Raman
Platform Engineer, Fathom

The event log tells me whether the job never started or started and died. That distinction has saved hours of guessing.

DM
Diego Marchetti
Infrastructure, Loomtide
Pricing

Start free. Upgrade when a job pages a human.

Monthly or discounted annual billing. Cancel anytime.

Free

$0/mo

Everything you need to watch a handful of jobs.

Start for free

Supporter

$5/mo

Same limits — a way to fund the service you rely on.

Become a supporter
Most popular

Business

$20/mo

For teams running production schedules that page a human.

Choose Business

Business Plus

$80/mo

High-volume monitoring with room for a large fleet.

Choose Business Plus

Add one line tonight. Sleep through the next outage.

Create a check, drop the ping URL into your job, and let Deadpulse hold the pager.