Stone.js API
    Preparing search index...

    The agnostic queue connection contract.

    A backend (memory, Redis, a provider queue) implements it; application code depends only on this interface. Producers use dispatch/later; consumers (the Worker) use reserve/ack/release/fail.

    interface QueueConnection {
        ack: (job: Job) => Promise<void>;
        clear: (queue?: string) => Promise<void>;
        dispatch: <T = unknown>(
            name: string,
            payload: T,
            options?: JobOptions,
        ) => Promise<string>;
        fail: (job: Job, error: Error) => Promise<void>;
        later: <T = unknown>(
            delay: number,
            name: string,
            payload: T,
            options?: JobOptions,
        ) => Promise<string>;
        name: string;
        release: (job: Job, delay?: number) => Promise<void>;
        reserve: (queue?: string) => Promise<Job<any>>;
        size: (queue?: string) => Promise<number>;
    }

    Implemented by

    Index
    ack: (job: Job) => Promise<void>

    Acknowledge a completed job (remove it).

    clear: (queue?: string) => Promise<void>

    Remove every job from queue (or all queues when omitted).

    dispatch: <T = unknown>(
        name: string,
        payload: T,
        options?: JobOptions,
    ) => Promise<string>

    Enqueue a job; resolves to its id.

    fail: (job: Job, error: Error) => Promise<void>

    Move a job to the failed (dead-letter) set.

    later: <T = unknown>(
        delay: number,
        name: string,
        payload: T,
        options?: JobOptions,
    ) => Promise<string>

    Enqueue a job delayed by delay seconds; resolves to its id.

    name: string

    A human-readable connection name (e.g. 'memory', 'redis').

    release: (job: Job, delay?: number) => Promise<void>

    Return a job for retry after delay seconds.

    reserve: (queue?: string) => Promise<Job<any>>

    Reserve the next available job on queue (marking it in-flight), or undefined when empty.

    size: (queue?: string) => Promise<number>

    Number of ready jobs on queue.