Hangfire vs pg-boss
Hangfire
hangfire.iopg-boss
pgboss.ioSide by side
| Figure | Hangfire | pg-boss |
|---|---|---|
| Price from | $41.67/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | Yes |
| Windows | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 4 | 1 |
| Spec score · Task Queue Software | 9.1 (#2) | 8.2 (#8) |
| Dashboard | A built-in web dashboard shows job states and processing activity. | The separate @pg-boss/dashboard package provides a web dashboard for monitoring and managing jobs, queues, and schedules. |
| What it does | Hangfire runs .NET and .NET Core methods as durable background jobs without requiring a separate Windows Service or process. | pg-boss is a Node.js job queue built on PostgreSQL for background processing and reliable asynchronous execution. |
Plans
In their own words
Hangfire
Hangfire runs background jobs in.NET and.NET Core applications without requiring a Windows Service or a separate process. It supports fire-and-forget, delayed and recurring jobs, as well as continuations, and stores jobs persistently. SQL Server and Redis are officially supported storage options, with other community-driven implementations also available. A built-in web dashboard shows processing activity and each job's state. Hangfire describes its processing as at-least-once, with automatic retries after unhandled exceptions or application termination. It can run across multiple machines and coordinates their work automatically. Listed integrations include ASP.NET, ASP.NET Core, console applications, Windows Services, WCF, Nancy and ServiceStack. Hangfire Core is open source under LGPLv3 and free for commercial use. The Open plan is free. Startup costs $500 a year, Business $1,500 a year, and Enterprise $4,500 a year, all billed per organization annually. Pro adds batches and batch continuations; Ace adds throttling features for concurrency and rate limits. Dashboard access is local by default, so remote access needs authorization configuration.
pg-boss
pg-boss is a Node.js job queue that uses PostgreSQL for background processing and asynchronous job execution. It can add a job in the same database transaction as the data change it belongs to, so the job is created only when that transaction commits. Workers use PostgreSQL SKIP LOCKED to claim jobs without blocking one another, with atomic commit safety; delivery is at least once, so a handler may run more than once. Queue controls include priorities, rate limits, debouncing, concurrency policies, retries with exponential backoff, and dead-letter queues. Scheduling covers cron and RRULE, deferral, and dependency-based workflows. Transaction adapters are available for Knex, Kysely, Drizzle, and Prisma. Supported databases include PostgreSQL, CockroachDB, YugabyteDB, Citus, and PGlite. A dashboard can monitor and manage jobs, queues, and schedules, while a JSON HTTP API proxy serves non-Node runtimes. It is MIT-licensed and self-hosted, with a listed price of free. It requires Node 22.12 or higher or Bun, plus PostgreSQL 13 or higher.