UNPKG

pg-transactional-outbox

Version:

A PostgreSQL based transactional outbox and inbox pattern implementation to support exactly once message processing (with at least once message delivery).

14 lines (11 loc) 485 B
import { TransactionalMessage } from '../../message/transactional-message'; /** * A concurrency controller that defines how concurrency must be handled when * processing messages: in parallel and/or sequentially or use some other logic. */ export interface ReplicationConcurrencyController { /** Acquire a lock (if any) and return a function to release it. */ acquire(message: TransactionalMessage): Promise<() => void>; /** Cancel all pending locks. */ cancel(): void; }