Sidekiq tells you when a job raises an exception. It doesn't tell you when a job runs, processes zero records, and exits cleanly. DeadManCheck does.
Sidekiq's retry mechanism and dead queue handle raised exceptions well. But the failures that go unnoticed aren't exceptions — they're silent successes: jobs that complete with no error and no useful output.
The dead man's switch pattern fixes this: your job pings an external service on success, and that service alerts you if it stops hearing from the job on schedule.
Add start, success, and fail pings to your worker's perform method.
Uses Ruby's stdlib Net::HTTP — no extra gem required.
Set the monitor interval slightly longer than your schedule — e.g.
25 hours for a daily job.
DeadManCheck alerts if the success ping doesn't arrive within that window.
The same worker pattern applies. If you're using
sidekiq-cron or
sidekiq-scheduler
to run jobs on a schedule, your perform
method is already the right place to add the pings — no extra configuration needed.
One monitor per scheduled job. If sidekiq-cron loses its Redis state after a restart, DeadManCheck will alert you — the expected ping never arrives.
DeadManCheck's output assertion feature alerts you when a job completes but the count it reports is below a threshold you set. A plain heartbeat monitor only checks that the ping arrived — it can't tell a busy worker from one that processed nothing.
Pass the count in the POST body and configure your threshold in the monitor settings:
DeadManCheck tracks how long each job run takes and alerts when a run takes significantly longer than the rolling average. The start ping triggers the timer; the success ping stops it.
After 5+ runs, DeadManCheck builds a rolling baseline. A job that normally takes 30 seconds but suddenly takes 8 minutes gets flagged — a leading indicator of a slow query, a data volume spike, or a downstream service degrading.
Learn more about duration monitoring with rolling average anomaly detection →
DEADMANCHECK_TOKEN env vardmc_start / dmc_success / dmc_fail helpers to your workerFree for 20 monitors. $29/mo, unlimited monitors. Self-host for free.