River blog - Articles about the River Go Postgres queue library

River

3 min read Original article ↗

River supports Turso

River v0.41 adds support for Turso, a ground-up rewrite of SQLite in Rust.

Now in Pro: Active job rescue

River Pro v0.26 adds active job rescue, which uses queue heartbeats to quickly recover jobs orphaned by crashed clients, no additional schema required.

River metrics have arrived

River v0.41 adds an extensible hook for receiving metrics, starting with job-fetch duration and locked-job counts, and with batteries-included OpenTelemetry support through otelriver.

Go's stuck goroutine problem (and why to let it fail)

Go can't kill a stuck goroutine, but River v0.40's new stuck-job handler can expose a goroutine stuck in an indefinite wait, preserve worker capacity, and trigger a restart before stuck jobs exhaust a process.

River is SOC 2 Type II compliant

River has completed its SOC 2 Type II audit, verifying that the security controls protecting hosted Pro customer data operate effectively over time.

Defense in depth with encrypted jobs

Using encrypted jobs and NaCL Secretbox to add a layer of security protecting data even in the worst case scenario of widespread database exfiltration.

Precision concurrency control with River Pro

River Pro now supports global concurrency limits to precisely control how many jobs can run concurrently across your infrastructure, complete with granular partitioning and operational control through River UI.

Measuring River with OpenTelemetry

Monitor River job insertion and execution with `otelriver`, which emits OpenTelemetry traces and metrics for duration, outcomes, queues, and job kinds.

New Pro feature: Sequences

River Pro Sequences process related jobs one at a time while allowing independent sequences to run in parallel, preventing races without consuming worker slots.

River UI as a packaged Go module

River UI v0.5 ships as an embeddable Go module with bundled frontend assets, letting applications mount the full UI as an `http.Handler` at any path.

Launching workflows and River Pro

River Pro launches with workflows: code-defined job graphs that split complex work into observable, independently retryable tasks with first-class River UI support.

Announcing River UI

River UI is a self-hosted web interface for River, bringing powerful operational and development tooling to River users. It's freely available as a Docker image, a pre-built static binary, or for bundling into your own application.

River 0.4.0: A few breaking changes

River 0.4.0's released, and it contains a few small breaking changes that've been batched together. A list of specific changes, upgrade guide, and a little rationale for why we thought they were justified.