Beignet API reference
    Preparing search index...

    Interface DrainOutboxOptions

    Options for draining one outbox batch.

    interface DrainOutboxOptions {
        batchSize?: number;
        eventBus?: {
            publish<E extends EventPayloadDef<string, StandardSchema>>(
                event: E,
                payload: InferEventPayload<E>,
            ): MaybePromise<void>;
        };
        jobs?: JobDispatcherPort;
        leaseMs?: number;
        now?: Date;
        onError?: (
            error: unknown,
            message: ClaimedOutboxMessage,
        ) => MaybePromise<void>;
        outbox: OutboxPort;
        registry: OutboxRegistry;
        retryDelayMs?:
            | number
            | (
                (
                    args: { error: unknown; message: ClaimedOutboxMessage; now: Date },
                ) => number
            );
    }
    Index

    Properties

    batchSize?: number

    Maximum messages to claim in one drain pass.

    eventBus?: {
        publish<E extends EventPayloadDef<string, StandardSchema>>(
            event: E,
            payload: InferEventPayload<E>,
        ): MaybePromise<void>;
    }

    Event bus used for event messages.

    Job dispatcher used for job messages.

    leaseMs?: number

    Claim lease duration in milliseconds.

    now?: Date

    Timestamp used for claiming and state updates.

    onError?: (error: unknown, message: ClaimedOutboxMessage) => MaybePromise<void>

    Observer called when delivery fails. Observer failures are ignored so the original delivery failure still controls retry/dead-letter behavior.

    outbox: OutboxPort

    Outbox storage port.

    registry: OutboxRegistry

    Registry used to resolve message names to event/job definitions.

    retryDelayMs?:
        | number
        | (
            (
                args: { error: unknown; message: ClaimedOutboxMessage; now: Date },
            ) => number
        )

    Retry delay in milliseconds or function for per-message delay.