River is a background job queue for Go applications, backed primarily by PostgreSQL, with SQLite support described as experimental. Jobs added within a database transaction wait until that transaction completes before running. Core features include isolated queues, unique and prioritized jobs, recurring cron jobs, snoozing, automatic retries, transactional completion, and test helpers. Its web interface offers queue pause and resume controls, error reporting, and telemetry integrations. The optional River UI is self-hosted and adds no external service dependencies. River Pro adds reusable workflows whose tasks can be retried individually, as well as batching, concurrency limits, ordered job sequences, and features such as dead letter queues and encrypted jobs. The Open Source plan is free but excludes workflows, concurrency limits, and support. Pro costs 125.00 USD per 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 River's SOC 2 report. River uses Go generics for structured worker arguments.
Who it is for
It suits developers building Go applications that need background jobs with database-backed transactional behavior. Teams needing workflows, concurrency limits, or support can consider the paid plans.
What is good
- Jobs wait for their database transaction to complete
- Core plan includes retries and recurring cron jobs
- Optional web interface is self-hosted
- Pro adds workflows and concurrency limits
- Open Source plan is free
What to know first
- Open Source excludes workflows and concurrency limits
- Open Source includes no support
- SQLite support is experimental
- Pro costs 125.00 USD per month
Verdict
River focuses on transactional job processing for Go, with a free core and additional workflow and operational features in Pro. Check database support and plan limits against your application needs.
River plans and pricing
All plansCompared on task queue software
- Free plan
- Yes
- Paid from
- $125/mo
- Deployment model
- self_hosted
- Custom retry policy
- Yes
- Scheduled jobs
- Yes
- Dead-letter queue
- Yes
- Official SDK languages
- Go, Python, Ruby, TypeScript

