River

#OpenSource

Product information

River is a robust job queueing system designed specifically for Go applications, ensuring atomic, transaction-safe operations. Leveraging PostgreSQL for its backend, River is built to scale and simplifies development by eliminating the need for external job queues like Redis. This integration means that jobs are only enqueued when transactions successfully complete, enhancing reliability and reducing complexity.

River includes a comprehensive set of features to support development and operations. It provides a web interface for easier job management, error handling and reporting that integrates with bug tracking services, and automatic retries with customizable backoff strategies. Developers can define multiple isolated queues, prioritize jobs, and set up recurring tasks with advanced scheduling options. Configurable job timeouts and graceful shutdowns ensure that jobs are managed efficiently without running indefinitely or being abruptly terminated.

River Pro, the extended version of River, offers additional time-saving features and commercial support. It allows for breaking down complex workflows into discrete tasks, ensuring transactional consistency using the primary Postgres database, and scaling without the need for new external services. River Pro also supports further development and maintenance of the open-source project.

Designed with Go developers in mind, River uses generics to provide strongly typed, structured arguments to workers. It includes a self-hosted web interface, River UI, which aids in diagnosing incidents, monitoring job performance, and accelerating development. The UI supports dark mode for better usability during late-night operations.

River is open-source and self-hosted, ensuring data remains within the developer's control. It is lightweight and stateless, requiring no additional service dependencies. The team behind River is continually working on new features like rate limiting and concurrency controls, with updates available through their mailing list.

Pricing

Pricing information is not available