Features Quickstart Blog Docs GitHub Get Started
Open Source — MIT License
100% Free & Self-Hosted

AI Background Jobs Without Redis

BullMQ-compatible API. 10x faster. Zero ops. The simplest way to run LLM pipelines, RAG workflows, and batch inference at scale.

embed
search
generate

RAG Pipeline • Job Dependencies • Automatic Orchestration

10× faster
flashQ 300K jobs/sec
BullMQ ~30K jobs/sec
ai-pipeline.ts
// Same BullMQ API you already know
import { Queue, Worker } from 'flashq';

const queue = new Queue('ai-pipeline');

// Push job with dependencies
const embed = await queue.add('embed', { text });
const generate = await queue.add('generate', { prompt }, {
  depends_on: [embed.id]
});

// Wait for result
const result = await queue.finished(generate.id);
Features

Built for AI Workloads

Everything you need to run production AI pipelines, without the infrastructure headache.

Job Dependencies

Chain jobs with depends_on. Perfect for RAG pipelines: embed → search → generate. Wait for results with finished().

Rate Limiting

Control API costs with built-in rate limiting. Never exceed your OpenAI quota again.

10MB Payloads

Send embeddings, images, and large context windows without workarounds.

Smart Retries

Exponential backoff, configurable attempts, dead letter queue for failed jobs.

BullMQ Compatible

Same API you already know. Migrate from BullMQ in minutes, not days. Just change your import and you're done.

Use Cases

Perfect for AI Teams

From indie hackers to production ML pipelines.

LLM API Calls

Rate limit OpenAI/Anthropic calls. Retry on 429s. Track costs per job.

RAG Pipelines

Chain embed → search → generate with job dependencies. Get results synchronously.

AI Agents

Orchestrate multi-step agent workflows. Handle tool calls and reasoning loops.

Batch Inference

Process millions of predictions. 300K jobs/sec throughput. Progress tracking.

Image Generation

Queue Stable Diffusion jobs. Large payloads for images. Webhook on completion.

Document Processing

Parse PDFs, extract text, generate summaries. Handle long-running jobs.

Compare

Why flashQ?

See how we stack up against BullMQ-Pro

300K jobs/sec
🪶 SQLite + S3
  • gRPC API Exclusive
  • S3 Backups Exclusive
  • Binary Protocol Exclusive
  • Job Dependencies
  • Rate Limiting
  • UI Dashboard
  • Batches & Groups
  • Repeatable Jobs
VS
30K jobs/sec
📕 Redis
  • gRPC API
  • S3 Backups
  • Binary Protocol
  • Job Dependencies
  • Rate Limiting
  • UI Dashboard
  • Batches & Groups
  • Repeatable Jobs
Quickstart

Up and Running in 2 Minutes

Three steps to your first job queue.

1

Start the Server

docker run -d -p 6789:6789 flashq/flashq
2

Install the SDK

npm install flashq
# or
bun install flashq
3

Queue Your First Job

import { Queue, Worker } from 'flashq';

// Create a queue
const queue = new Queue('my-queue');

// Add a job
await queue.add('hello', { message: 'Hello World!' });

// Process jobs
new Worker('my-queue', async (job) => {
  console.log(job.data.message);
  return { success: true };
});

Ready to Build?

Open source and free to use. Start building with flashQ today.

FAQ

Frequently Asked Questions

Can I migrate from BullMQ?

Yes! flashQ uses the same API as BullMQ. Just change your import from 'bullmq' to 'flashq' and you're done.

Is there a self-hosted option?

Yes. flashQ is open source and available on GitHub. You can self-host with Docker or download the binary.

What about data persistence?

flashQ uses SQLite for persistence with automatic S3 backups. Works with any S3-compatible storage (AWS S3, Cloudflare R2, MinIO).

Is it production ready?

Yes. flashQ is battle-tested with 104 unit tests and stress tests handling 300K+ jobs/sec.