Auto-retry & backoff
Throw, and we retry with fixed or exponential backoff.
Schedule jobs with auto-retry, parallel execution, rate-limiting, deduplication, and parent-child dependencies.
// A slow LLM call outlives a serverless function, and a
// burst trips the provider's 429 — run it off-request,
// throttled and in parallel.
import { Worker } from '@nextmq/sdk'
export const ai = new Worker('ai', async (job) => {
return await openai.responses.create(job.data.input)
}, {
limiter: { max: 10, duration: 1000 }, // 10 calls / sec
concurrency: 25, // 25 in flight
})
The same Queue
, Worker
, and FlowProducer
— without the complex infrastructure, seamlessly integrated into your Next.js app.
// The logic runs in your app, the queue runs on ours
// — connected by a single webhook handler.
import { createNextMQHandler } from '@nextmq/sdk/next'
import { ai } from '@/jobs/ai'
export const { GET, POST } = createNextMQHandler({
workers: [ai],
})
NextMQ runs the open-source BullMQ engine that's processed billions of jobs a day since 2011. Battle-tested core, none of the ops.
Throw, and we retry with fixed or exponential backoff.
Delayed and repeating jobs on timezone-aware cron.
Set per-queue concurrency; jobs run in parallel.
Cap calls per window so you never blow a provider quota.
Drop duplicate jobs by key — the work runs once.
Fan out parent/child graphs and gather child results.
| Queue | Completed | Failed | Err |
|---|---|---|---|
| ai | 62.4k | 180 | 0.3% |
| 211k | 42 | 0.0% | |
| payments | 47.9k | 610 | 1.3% |
| webhooks | 18.3k | 96 | 0.5% |
Inspect, debug, or replay your BullMQ queues in real time — and get alerted the moment failures spike.
Start free, upgrade to Pro for production, and talk to us for a dedicated setup.
For testing and small projects.
For production workloads.
For dedicated infrastructure.
Drop-in BullMQ-compatible SDK.
No server, no Redis, no webhook plumbing.