deadpost watches the silence. Add one curl call to your cron job. If the ping doesn't arrive on schedule, you hear about it — not your users.
# end of your cron job curl -fsS https://ping.deadpost.dev/$TOKEN
free forever on Hobby · no credit card
Sixty blocks. Each one is a check interval.
Green means it ran. Red means it didn't. That's the whole product.
Setup takes 5 minutes. Curl works — SDKs add more.
Give it a name, set how often your job runs, and set a grace period. deadpost generates a unique ping URL.
Append one curl line to your cron job — or import a deadpost SDK for automatic duration tracking and exception capture.
If the ping doesn't arrive within the expected window, deadpost alerts you via email, Slack, or PagerDuty.
Wrap your job in one line. Duration tracking, exception capture, bounded retries and offline buffering — in Python, Node, or a single static binary that drops into any crontab.
# Wrap the crontab line you already have. Exit code, stdout and stderr
# all pass straight through — `&&`, `set -e` and cron's mail keep working.
deadpost run -- ./backup.sh
# Tag the numbers that describe the work, not just that it happened:
# a backup that exits 0 having written 2 MB is green everywhere else.
deadpost run --tag rows=1240918 --tag bytes=14002003912 -- ./dump.sh
# Kill a job that hangs, and hear about it as a failure rather than
# as silence. --capture attaches the failing job's output to the alert.
deadpost run --timeout 30m --capture -- ./import.sh
# Several jobs on one box? Name them; -m picks the monitor.
deadpost run -m nightly-etl -- ./etl.sh
# Already a pipeline? Just the heartbeat.
./rotate-logs.sh && deadpost pingWrap your job in a scoped run. /start fires on entry, /end on exit, and deadpost knows the difference between "not started yet" and "started an hour ago and never came back".
An exception fires a failure ping immediately and is then re-raised unchanged — same error, same stack. You alert in seconds instead of waiting out the silence window.
A run still open when the process exits is reported before it goes. A job that starts and then dies would otherwise look alive until its whole period elapsed.
Attach rows, bytes, batch sizes to each run. A backup that exits 0 having written 2 MB instead of 14 GB is green everywhere else — tags are how it stops being.
more SDKs landing soon
Three features that solve real problems competitors haven't touched.
Rotate your ping token without a monitoring gap. The old and new tokens both work during a configurable overlap window. Deploy the new URL at your own pace, then commit.
Set a monitor to resume automatically after maintenance. No more coming back to a silenced monitor you forgot to re-enable three days later.
deadpost analyzes inter-ping intervals and suggests the correct period when your monitor is misconfigured. Accept in one click.
Alert after N consecutive misses, not the first hiccup. Reduce noise on flaky runners.
Suppress alerts per monitor, timezone-aware, with overnight-span support. Pending alerts deliver when the window ends.
Use /start and /end pings to detect slow runs. Alert when a job takes 2.5× longer than its average.
Route alerts to the right channel per environment. HMAC-signed outbound webhooks with delivery logs.
drops into your existing cron setup
No per-alert fees. No overage charges.
For personal projects and small scripts.
For developers running production jobs.
For teams with production SLAs.
all plans bill monthly · cancel anytime · no contracts · prices exclude tax (added at checkout)
Free forever on Hobby. No credit card. Five minutes from signup to your first ping.