Brokers/RabbitMQ
RabbitMQ
RabbitMQ is a full-featured message broker — excellent for workload-heavy pipelines where you need queues, exchanges, routing keys, and durable delivery. Celery and Dramatiq both accept RabbitMQ as their transport.
Broker URLs
amqp://guest:guest@localhost:5672/ # default guest credentials
amqp://user:pass@rabbitmq.prod:5672/ # named broker host
amqps://user:pass@host:5671/ # TLS
Compose a job system with RabbitMQ
// bionicjs.config.ts
import { defineConfig } from "@bionicjs/core";
import { dramatiq } from "@bionicjs/dramatiq";
export default defineConfig({
jobs: dramatiq({ broker: "amqp://guest:guest@localhost:5672" }),
});
Why RabbitMQ
- First-class routing: exchanges, binding keys, and multiple queue consumers.
- Durable and reliable — messages survive broker restarts when you opt in.
- A natural fit for Celery and Dramatiq in production workloads with throughput and routing requirements.
Good to know
- RQ is Redis-only, so RabbitMQ only applies to Celery and Dramatiq.
- The broker value is configuration only — switching RabbitMQ for Redis later changes a URL, not code.
- See the Redis broker page for the lighter, always-available alternative.