vs

Graphile Worker vs River: Which is Better in 2026?

Background Jobs & Workflows

Choosing between Graphile Worker and River? Both are popular background jobs & workflows tools. Below we compare them on pricing, free tiers, features, and pros & cons so you can pick the right fit for your stack.

Graphile Worker is for: Node.js teams on PostgreSQL who want a job queue that adds no new infrastructure.

River is for: Go teams on PostgreSQL who want jobs enqueued in the same transaction as their data.

Quick verdict

There’s no single winner; pick on your constraint. Choose Graphile Worker if your Node.js app already uses Postgres and you don’t want to add Redis or a hosted queue. Choose River if your app is written in Go and uses Postgres.

Graphile Worker vs River — Side by Side

Graphile WorkerRiver
CategoryBackground Jobs & WorkflowsBackground Jobs & Workflows
What it isOpen-source job queue libraryOpen-source job queue library
LanguagesNode.jsGo, Java, Ruby, Rust, TypeScript
What it runs onYour PostgreSQLYour Postgres or SQLite
How you payFree (MIT); sponsorship and paid supportFree (MPL-2.0); optional Pro subscription
Free accessFull open-source libraryFull open-source library
PricingFreeFree · paid from $125/mo
Starting priceFree tier availableFree tier available
Free tier
Rating4.44.4
Best forBackground Jobs & Workflows — Postgres, Node.js, no extra infrastructureBackground Jobs & Workflows — Go, Postgres, transactional jobs

Pros & Cons

  • No extra infrastructure (uses Postgres)
  • Free and open-source
  • Low latency
  • Transactional job enqueue
  • Node.js only
  • Tied to Postgres
  • Smaller ecosystem than BullMQ
  • Idiomatic Go with strong typing
  • Transactional enqueue on Postgres
  • No separate broker needed
  • Active development
  • Go-first; other languages are newer
  • Newer than incumbents
  • Needs Postgres or SQLite

Key Features Compared

Graphile Worker

  • Open source under the MIT license, funded by sponsorship
  • Runs on your existing PostgreSQL; jobs start in milliseconds via LISTEN/NOTIFY
  • Automatic retries with exponential backoff
  • Repeating tasks with minute granularity and optional backfill
  • Up to 10,000 jobs a second, per the project
  • Paid priority support from the maintainer

River

  • Open source under the MPL-2.0 license
  • Enqueues jobs transactionally in your existing database
  • Runs on Postgres and SQLite
  • Background jobs for Go, Java, Ruby, Rust and TypeScript, per the project site
  • River Pro: $125 a month; annual billing saves $300
  • Pro adds workflows, sequences, batching, global concurrency limits, a dead letter queue and encrypted jobs

Choose Graphile Worker if…

  • Your Node.js app already uses Postgres and you don’t want to add Redis or a hosted queue.
  • You want to schedule jobs in the same database as your data.
  • You want a free, MIT-licensed library.

Choose River if…

  • Your app is written in Go and uses Postgres.
  • You want a job to exist only if the transaction that created it commits.
  • You want workflows and concurrency limits for a flat monthly fee.

Frequently Asked Questions

Is Graphile Worker better than River?⌄

There’s no single winner; pick on your constraint. Choose Graphile Worker if your Node.js app already uses Postgres and you don’t want to add Redis or a hosted queue. Choose River if your app is written in Go and uses Postgres.

What is the difference between Graphile Worker and River?⌄

Languages — Graphile Worker: Node.js. River: Go, Java, Ruby, Rust, TypeScript. What it runs on — Graphile Worker: Your PostgreSQL. River: Your Postgres or SQLite. How you pay — Graphile Worker: Free (MIT); sponsorship and paid support. River: Free (MPL-2.0); optional Pro subscription.

Graphile Worker vs River: which is cheaper?⌄

Graphile Worker pricing: Free. River pricing: Free · paid from $125/mo. Confirm current pricing on each tool's official site, as plans change.

Which is rated higher, Graphile Worker or River?⌄

In our catalog, Graphile Worker rates 4.4 out of 5 and River rates 4.4 out of 5 — they are evenly matched.

When should I skip both Graphile Worker and River?⌄

Skip Graphile Worker if you need throughput beyond one Postgres database. BullMQ runs on Redis. Skip River if your app is in Node.js. Graphile Worker takes the same Postgres approach.

Sources · tool facts checked November 2026

  1. 1.Graphile Workerworker.graphile.org
  2. 2.Riverriverqueue.com
  3. 3.River Proriverqueue.com

See more options in our guide to the best background jobs & workflows tools for startups.

Still not sure which to pick?

Get a free, AI-powered tech stack — including the best background jobs & workflows pick for your budget and team — in 60 seconds.

Build my stack free