Dead-man's-switch for scheduled jobs
Your cron job, backup script, or data pipeline calls a LastPing URL when it finishes. LastPing expects that call on a schedule. If the window passes with no ping, it's not a network error you'll see in logs — it's silence. LastPing detects silence and opens an incident.
How it works
- Add one
curlto the end of your job — no library, any language - Set the expected period (e.g. every 1 h) and a grace window
- Transitions: up → late → down on durable database deadlines, not in-memory timers
- A restart or redeploy never misses a due check
- On recovery: incident closes, recovery alert fires automatically
curl -fsS https://ping.lastping.dev/<id>
What it catches
- Job ran but crashed before completing
- Cron expression drifted or was removed
- Scheduler stopped or container was evicted
- Job took so long it overlapped the next window
- Silent Python
except: passswallowed the error