Dramatiq vs pg-boss
Dramatiq
dramatiq.iopg-boss
pgboss.ioSide by side
| Figure | Dramatiq | pg-boss |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Task Queue Software | 7.7 (#20) | 8.2 (#8) |
| Intended users | The project describes its design as suited to common SaaS workloads and says it may suit people who have used Celery. | The maker says pg-boss suits teams already running PostgreSQL that want to avoid adding another system to operate and monitor. |
| Scheduling | Actors can schedule messages for later using a delay; the guide says scheduled messages should be a small subset of all messages because the broker is not a database. | It supports job dependency workflows, cron and RRULE scheduling, and job deferral. |
| What it does | Dramatiq is a background task processing library for Python focused on simplicity, reliability, and performance. | pg-boss is a Node.js job queue built on PostgreSQL for background processing and reliable asynchronous execution. |
Plans
In their own words
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.