Graphile Worker vs pg-boss
Graphile Worker
worker.graphile.orgpg-boss
pgboss.ioSide by side
| Figure | Graphile Worker | pg-boss |
|---|---|---|
| Price from | $25/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 7 | 1 |
| Spec score · Task Queue Software | 9.1 (#1) | 8.2 (#8) |
| Requirements | The current release requires PostgreSQL 12 or newer and Node.js 22.18 or newer. | The homepage lists Node 22.12 or higher, or Bun, and PostgreSQL 13 or higher as requirements. |
| Scheduling | Recurring tasks can use crontab-like scheduling with optional backfill. | It supports job dependency workflows, cron and RRULE scheduling, and job deferral. |
| What it does | Graphile Worker stores jobs in PostgreSQL and executes them with Node.js workers. | pg-boss is a Node.js job queue built on PostgreSQL for background processing and reliable asynchronous execution. |
Plans
Graphile Worker
- Graphile WorkerFree
- Graphile Worker OSSFree
- Worker Pro launch offer$25 a month
- Worker Pro Launch Offer$25 a month
- Worker Pro regular price$100 a month
- Worker Pro regular pricing$100 a month
- Private Advisor sponsorship$899 a month
In their own words
Graphile Worker
Graphile Worker stores jobs in PostgreSQL and runs them on Node.js, so background work does not hold up application responses. It is free and open source under the MIT license, and is self-hosted in standalone or embedded mode, including within an application server's Node.js process. Jobs execute at least once, and failed jobs are retried automatically with exponential backoff. Recurring tasks can use crontab-like schedules with optional backfill; other controls include de-duplication by unique job_key and batch jobs that append data to queued jobs. The feature list says execution typically begins in under 3ms using PostgreSQL LISTEN/NOTIFY. The current version requires PostgreSQL 12+ and Node 22.18+. Installation is supported through npm, Yarn or pnpm, and global installation is not recommended. Database connections can use SSL encryption and CA certificate configuration. Community help is available through Graphile Discord, with professional support contracts also offered. Worker Pro adds crashed-worker recovery and live migration to new Worker versions.
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.