Hangfire's built-in dashboard is great at showing you one thing, right now, in one app. Here's exactly where it stops — and where QueueHawk picks up.
Short version: QueueHawk doesn't replace the Hangfire dashboard or Hangfire itself — your jobs still run on Hangfire, and the built-in dashboard stays useful for poking at a single job in real time. QueueHawk adds the three things that dashboard was never built to do: persist history past a restart, cover more than one application, and tell you when something's wrong before your client does.
| Feature | QueueHawk | Hangfire Dashboard | Hangfire Pro |
|---|---|---|---|
| Single view across every Hangfire app / client project | ✓ | — | — |
| Job history survives restarts & redeploys | ✓ | — | — |
| Slack / Teams / email alerts | ✓ | — | — |
| Detects a server that's alive but stopped processing | ✓ | — | — |
| Error-rate alert rules | ✓ | — | — |
| Batches, continuations & other advanced job types | —* | — | ✓ |
* QueueHawk monitors and alerts on top of Hangfire — it doesn't add new job-execution features to Hangfire itself. If you need batches/continuations, that's still a Hangfire (Core or Pro) concern, and QueueHawk works the same regardless of which one you're on.
Setup: one NuGet package, alongside your existing dashboard
Cost: free for one application, paid plans per application
Setup: built in, already there
Cost: free, open source
Setup: license + package swap
Cost: paid license — see hangfire.io
The built-in dashboard shows one Hangfire storage instance. Running Hangfire for five client projects means five separate /hangfire dashboards, five logins, five tabs to remember to check. QueueHawk gives every application its own row in one dashboard, with a health status per app.
Job data lives in whatever Hangfire storage you configured, and by default that storage doesn't keep succeeded/failed jobs forever — Hangfire's own expiration manager cleans them up on a schedule, and an in-memory storage backend loses everything the moment the process restarts. QueueHawk keeps history independent of your Hangfire storage, for 7 to 365 days depending on plan.
The dashboard is something you have to remember to open — it doesn't push anything to you. QueueHawk's alert rules (error rate, heartbeat timeout) send a Slack, Teams, or email alert the moment something crosses a threshold, including the failure mode a job-event feed alone can't catch: a worker process that's technically alive but has silently stopped picking up jobs.
Hangfire Pro is a separate, paid upgrade to Hangfire itself — not really a QueueHawk competitor. It adds developer-facing job-execution features like batches, continuations, and semaphores, plus a nicer dashboard UI. As far as its publicly listed feature set shows, it's still scoped to a single Hangfire storage instance, with no cross-application view and no outbound alerting built in. Pro and QueueHawk aren't mutually exclusive: QueueHawk works the same whether you're on stock Hangfire.Core or Hangfire Pro underneath.