bionicjs
Jobs/Brokers

Brokers

Overview

The broker carries task messages between your app and the Python workers. The choice is a URL in bionicjs.config.ts — swapping brokers never touches task code.

Broker URL scheme Celery RQ Dramatiq
Redis redis:// ✓ ✓ (required) ✓
RabbitMQ amqp:// ✓ ✗ ✓

Redis

The default broker — fast, in-memory, and already running in most stacks. RQ is Redis-only by design.

// bionicjs.config.ts
import { defineConfig } from "@bionicjs/core";
import { rq } from "@bionicjs/rq";

export default defineConfig({
  jobs: rq({ broker: "redis://localhost:6379" }),
});

RabbitMQ

Full-featured message routing with exchanges and routing keys — the right pick for workload-heavy pipelines in production.

// bionicjs.config.ts
import { defineConfig } from "@bionicjs/core";
import { dramatiq } from "@bionicjs/dramatiq";

export default defineConfig({
  jobs: dramatiq({ broker: "amqp://guest:guest@localhost:5672" }),
});

Where it fits

  • Short tasks and simple needs → Redis.
  • Throughput, routing, and durability at scale → RabbitMQ.