Default Queue Bridge
DefaultQueueBridge ships with @purista/core and stores jobs in-memory inside each service instance.
Capabilities
| feature | support |
|---|---|
| Durability | ❌ (restarts drop jobs) |
| Delayed delivery | ✅ (timer-based scheduling) |
| Dead-letter queue | ✅ (in-memory store) |
| Lease extension | ✅ |
| Metrics | ✅ (context.queue.metrics.<queueId>) |
When to use
- Unit/integration tests without external dependencies.
- Local development or demos where determinism is more important than durability.
- Single-instance cron-like tasks.
Configuration
No extra setup required—when you don’t pass a queueBridge to serviceBuilder.getInstance, the default bridge is injected automatically.
ts
const service = await myServiceV1Service.getInstance(eventBridge, {
logger,
// queueBridge omitted -> defaults to in-memory bridge
})Tips
- Because jobs are in-memory, do not rely on this bridge in production or any environment with multiple instances.
- Combine with Vitest to speed up queue-related tests (
DefaultQueueBridgeruns fully synchronously). - Use Redis or another persistent bridge as soon as you need horizontal scaling or crash resilience.
