Ping Clock Ping Clock

A paused Sidekiq queue looks healthy in HTTP uptime

20 checks free.

Sidekiq's web UI is up. Redis is up. The cron job that bills customers has not run since someone paused the queue for a deploy. HTTP monitors will not see that. A heartbeat at the end of the worker will.

Inside the worker

After the work succeeds:

Net::HTTP.get(URI(ENV.fetch("PING_URL")))

Or curl via Open3 if you prefer to keep it out of the Ruby process. Fail the job if the work did not actually complete, so you do not ping.

Unique checks

One check per cron name. "Billing::DailyCharges" and "Billing::Dunning" should not share a ping. Shared pings hide which one died.

Deploys

If you pause Sidekiq during deploys that last longer than grace, either raise grace for that window or ping from a wrapper that still runs. Otherwise you will get a false late alert every release.

FAQ

Can I use Sidekiq's dead set as the alert?

The dead set is for jobs that ran and failed. It does not list jobs that never were enqueued.

What about Solid Queue or Delayed Job?

Same pattern: ping after success, one check per schedule, grace longer than a slow run.

Create a free check