Graphile Worker vs River
Graphile Worker
worker.graphile.orgRiver
riverqueue.comSide by side
| Figure | Graphile Worker | River |
|---|---|---|
| Price from | $25/mo | $125/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 7 | 3 |
| Spec score · Task Queue Software | 9.1 (#1) | 7.8 (#17) |
| Security | The connection documentation describes SSL-encrypted PostgreSQL connections and CA certificate configuration. | River Pro includes an encrypted jobs feature, and Enterprise subscribers can access River's SOC 2 report. |
| Self-hosting | The software manages its own graphile_worker database schema and can run in CLI or embedded library mode. | River UI is an optional self-hosted interface, and the product says it adds no external service dependencies. |
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.
River
River is a background job queue for Go applications, using PostgreSQL or SQLite to store jobs. Its transactional enqueueing keeps a job from running until the database transaction that inserted it has completed. The core set includes isolated queues, unique jobs, prioritization, recurring cron jobs, snoozing, transactional completion, and test helpers. A web interface, pause and resume controls, automatic retries, error reporting, and telemetry integrations support operations. River UI is optional and self-hosted, with no external service dependencies. PostgreSQL is the primary database target; SQLite support is experimental. River Pro adds workflows that split complex work into individually retryable tasks, plus batching, concurrency limits, and ordered job sequences. The free Open Source plan includes the web UI but excludes workflows, concurrency limits, and support. Pro costs $125 a month and includes email support for up to 20 developers. Enterprise pricing is custom and includes email and Slack support, unlimited developers, and access to a SOC 2 report.