Skip to content
All features
integrationspackages/integrations/queue

queue package

Provider-agnostic queue — Upstash QStash (serverless) or BullMQ (self-host). Customers swap by env; application code stays the same.

Open docs
Stability
Stable
Scope
Global
Boundary
packages/integrations/queue
email247billing89ai-tasks14webhooks31
StatusJobQueueAttemptsDurationWhen
Processingjob_9f3a2cai-tasks1/3412 msnow
Successjob_8c41beemail1/3184 ms12s ago
Successjob_77d019billing1/376 ms48s ago
Failedjob_6b22f4webhooks3/35,012 ms1m ago
Pendingjob_5a18eeemail2/32m ago
Successjob_4e0b7cbilling1/3221 ms3m ago

Throughput

1,247

+8.2%

jobs/min

Success rate

99.4%

+0.3%

Last 60 min

Avg latency

184 ms

Healthy

Usagequeue.ts
typescript
queue.ts
1import { getQueue, createJob } from "@nebutra/queue";
2
3// Auto-detects QStash, BullMQ, or memory from env.
4const queue = await getQueue();
5
6await queue.enqueue(
7  createJob("billing", "send-invoice", { orderId: order.id }, { tenantId }),
8);
9
10queue.registerHandler("billing", "send-invoice", async (job) => {
11  await sendInvoice(job.data.orderId);
12});