Skip to content

Default Queue Bridge

DefaultQueueBridge ships with @purista/core and stores jobs in-memory inside each service instance.

Capabilities

featuresupport
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 (DefaultQueueBridge runs fully synchronously).
  • Use Redis or another persistent bridge as soon as you need horizontal scaling or crash resilience.