OqronKitOqronKit

Adapters

Storage, Broker, and Lock adapter configuration

Adapters

OqronKit's adapter system provides swappable persistence backends. The same job definitions work identically across in-memory, Redis, and PostgreSQL — zero code changes needed.

Three Adapter Interfaces

InterfaceResponsibilityMethods
IStorageEngineJob records, schedules, historysave, get, list, delete, count
IBrokerEngineJob signaling, queue transportpublish, claim, ack, nack, pause, resume
ILockAdapterDistributed lockingacquire, release, renew, isLocked

In-Memory (Development)

Zero-dependency. Ships built-in. Perfect for local development and testing.

await OqronKit.init({
  config: {
    modules: [queueModule, cronModule],
    // In-memory is the default — no adapter config needed
  },
})

Redis (Production)

High-throughput adapter for distributed deployments using Redis Sorted Sets for the broker and Redlock for distributed locking.

PostgreSQL (Production)

ACID-compliant adapter using JSONB+GIN indexes for storage and PostgreSQL Advisory Locks.

Custom Adapters

Implement the adapter interfaces to plug in any backend:

import { OqronContainer } from 'oqronkit'

const container = new OqronContainer(
  myCustomStorage,  // IStorageEngine
  myCustomBroker,   // IBrokerEngine
  myCustomLock,     // ILockAdapter
)

Global Singleton vs Multi-Instance

// Global singleton (default):
await OqronKit.init({ config: { /* ... */ } })
const di = OqronContainer.get()

// Multi-instance (advanced — isolated adapters):
const container = new OqronContainer(myStore, myBroker, myLock)

On this page