Install
rdq ships in a few pieces — pick the ones you need. Everything shares one wire envelope and one storage backend, so you can mix and match (submit from the SDK, execute via the server, inspect from the CLI).
Requirements
Section titled “Requirements”- Go 1.22+ — for the Go SDK and building from source.
- PostgreSQL 14+ — the v1 reference storage backend.
- Docker — for running
rdq-serverfrom the published image. - Java 17+ / Maven — for the Java SDK.
Go SDK
Section titled “Go SDK”go get github.com/srjn45/rdq/sdk-goThe worker package is github.com/srjn45/rdq/sdk-go; a submit-only sub-package
(github.com/srjn45/rdq/sdk-go/submit) lets producer-side apps enqueue work without pulling in
the worker. You’ll also want a storage plugin:
go get github.com/srjn45/rdq/storage/postgresApply the migrations once at startup:
db, _ := postgres.Open("postgres://user:pass@localhost/mydb")if err := postgres.Migrate(ctx, db); err != nil { /* ... */ }store := postgres.New(db)Continue in the Go SDK guide.
Java SDK
Section titled “Java SDK”The engine is split into a submit-only client and the worker (so apps can “submit here, execute there”):
<!-- Producer side: submit tasks only --><dependency> <groupId>io.github.srjn45</groupId> <artifactId>rdq-java-client</artifactId> <version>2.1.0</version></dependency>
<!-- Worker side: the embedded engine (depends on the client) --><dependency> <groupId>io.github.srjn45</groupId> <artifactId>rdq-java-worker</artifactId> <version>2.1.0</version></dependency>Continue in the Java SDK guide.
rdq-server (Docker)
Section titled “rdq-server (Docker)”Run the central retry hub against storage you already operate:
docker run -e RDQ_DSN=postgres://user:pass@host/db \ -p 8080:8080 ghcr.io/srjn45/rdq-server:latestIt exposes REST and gRPC intake plus DLQ and admin APIs. Because it’s stateless, run as many replicas as you like behind a load balancer — coordination happens entirely in storage. See the rdq-server guide and the Server API reference.
A Helm chart ships alongside the image for Kubernetes deployments; see the configuration reference for the full environment surface.
rdq CLI
Section titled “rdq CLI”The rdq CLI is a single Go binary for queue stats, DLQ browse/inspect, and redrive:
go install github.com/srjn45/rdq/cli/cmd/rdq@latestPoint it at your storage (or at an rdq-server) and start inspecting:
rdq dlq list --queue payments.chargeContinue in the CLI guide.
Verify
Section titled “Verify”Once storage is reachable, the fastest end-to-end check is the Quickstart: submit a task, run a worker, watch it succeed after a retry — or land in the DLQ and get redriven.