integrationspackages/integrations/queue
queue package
Provider-agnostic queue — Upstash QStash (serverless) or BullMQ (self-host). Customers swap by env; application code stays the same.
- Stability
- Stable
- Scope
- Global
- Boundary
- packages/integrations/queue
email247billing89ai-tasks14webhooks31
| Status | Job | Queue | Attempts | Duration | When |
|---|---|---|---|---|---|
| Processing | job_9f3a2c | ai-tasks | 1/3 | 412 ms | now |
| Success | job_8c41be | 1/3 | 184 ms | 12s ago | |
| Success | job_77d019 | billing | 1/3 | 76 ms | 48s ago |
| Failed | job_6b22f4 | webhooks | 3/3 | 5,012 ms | 1m ago |
| Pending | job_5a18ee | 2/3 | — | 2m ago | |
| Success | job_4e0b7c | billing | 1/3 | 221 ms | 3m ago |
Throughput
1,247
+8.2%
jobs/min
Success rate
99.4%
+0.3%
Last 60 min
Avg latency
184 ms
Healthy
Usagequeue.ts
typescriptqueue.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});