Skip to content
SPECIFICTION
Get listed

pg-boss vs RQ (Redis Queue)

pg-boss

pgboss.io

RQ (Redis Queue)

python-rq.org

Side by side

Figurepg-bossRQ (Redis Queue)
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
LinuxYesYes
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · Task Queue Software8.2 (#8)8.2 (#9)
Queue featuresThe project lists retries with exponential backoff, priorities, dead-letter queues, rate limiting, debouncing, and concurrency policies.RQ supports bulk enqueueing, job groups, dependencies, unique jobs, and concurrency rate limits.

Plans

pg-boss

  • pg-bossFree

pg-boss pricing →

RQ (Redis Queue)

  • RQ (Redis Queue)Free

RQ (Redis Queue) pricing →

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.

Visit pgboss.io

RQ (Redis Queue)

RQ (Redis Queue) is a Python library for placing jobs in queues and running them asynchronously in background worker processes. It is self-hosted, open source under the BSD license, and free. It requires Redis 5 or later, or Valkey 7.2 or later. RQ supports scheduled and repeating jobs, retries, bulk enqueueing, job groups, dependencies, unique jobs, and concurrency rate limits. Unique jobs cannot be combined with dependencies. Failed jobs are recorded with exception information, and custom exception handlers are supported. For monitoring, there is an `rq info` console command; RQ Dashboard is a separate web-based frontend. Documentation covers Django, including django-rq, as well as usage with Heroku, Sentry, Supervisor, and systemd. RQ serializes jobs with pickle by default, which the project warns is safe only with trusted Redis instances; JSON is an alternative. Workers need a system that supports `fork()`, so Windows requires Windows Subsystem for Linux and a bash shell. Workers must also be able to import job functions, and producers and workers must share source code.

Visit python-rq.org