Use Cases
DriftQ is most valuable when you have slow, flaky, or expensive work (LLMs, tool calls, ingestion) and you need it to be durable, retryable, and debuggable — without turning application code into a fragile workflow engine.
- work can’t fit safely inside an HTTP request
- retries would cause duplicate side-effects
- you need ownership/leases and explicit ack/nack
- you want replay, auditability, and DLQ
- tasks are sub-second and synchronous is fine
- duplicates or loss are acceptable
- you don’t need retries, DLQ, or replay
One common application pattern
A typical setup looks like this: an API layer stays the front door (auth, validation, quotas). DriftQ becomes the work backbone. Workers execute long-running or failure- prone jobs. The frontend subscribes to progress and results (SSE, WebSocket, polling — your call).
- Client triggers work via an API request
- The API validates and enqueues a message into DriftQ
- Workers consume and execute the pipeline
- Workers ack success / nack failure with retries and DLQ
- The UI reconnects and resumes using the same run ID
Each scenario below is the same structure: what hurts, how DriftQ helps, and what you gain. This is the stuff teams hit daily in real production apps.
Async LLM runs (no more request timeouts)
Streaming tokens + reconnect support
Idempotency for expensive LLM calls
Tool-calling agents without duplicate side-effects
Backpressure under provider rate limits
Document ingestion & embeddings (RAG pipelines)
Webhook storms
Replacing cron scripts with durable jobs
Replay for debugging and incident response
When DriftQ is not the right tool
If your app is tiny, tasks are sub-second, and you can tolerate occasional loss or duplication, you’ll move faster with something simpler. DriftQ is infrastructure — it must earn its place.
