bunqueue v2.8 API referenceall versions · guide
bunqueue
    Preparing search index...

    Interface WorkerOptions

    Worker options

    interface WorkerOptions {
        autorun?: boolean;
        batchSize?: number;
        concurrency?: number;
        connection?: ConnectionOptions;
        dataPath?: string;
        drainDelay?: number;
        embedded?: boolean;
        heartbeatInterval?: number;
        limiter?: RateLimiterOptions;
        lockDuration?: number;
        maxStalledCount?: number;
        pollTimeout?: number;
        prefixKey?: string;
        removeOnComplete?: number | boolean | { age?: number; count?: number };
        removeOnFail?: number | boolean | { age?: number; count?: number };
        skipLockRenewal?: boolean;
        skipStalledCheck?: boolean;
        useLocks?: boolean;
    }
    Index
    autorun?: boolean
    batchSize?: number

    Batch size for pulling jobs (default: 10, max: 1000). Higher = fewer round-trips

    concurrency?: number
    connection?: ConnectionOptions

    Connection options - if omitted, connects to localhost:6789

    dataPath?: string

    SQLite database path for embedded mode (overrides DATA_PATH env var)

    drainDelay?: number

    Delay in ms between polls when queue is drained (default: 50)

    embedded?: boolean

    Use embedded mode (in-process SQLite) instead of TCP

    heartbeatInterval?: number

    Heartbeat interval in ms (default: 10000). Set to 0 to disable.

    Rate limiter for controlling job processing rate (BullMQ v5 compatible). When set, limits the number of jobs processed within the duration window.

    lockDuration?: number

    Lock duration in ms (default: 30000). Passed to server on pull; also used by stall detection.

    maxStalledCount?: number

    Max stalls before moving to failed (default: 1). Passed to stall config when using embedded mode.

    pollTimeout?: number

    Long poll timeout in ms when queue is empty (default: 0 = no wait, max: 30000)

    prefixKey?: string

    Namespace prefix prepended to the queue name on the server. Must match the prefixKey used by the producing Queue for the worker to consume the same namespaced queue. See QueueOptions.prefixKey.

    removeOnComplete?: number | boolean | { age?: number; count?: number }

    Remove jobs on complete — applied as default for all jobs processed by this worker

    removeOnFail?: number | boolean | { age?: number; count?: number }

    Remove jobs on fail — applied as default for all jobs processed by this worker

    skipLockRenewal?: boolean

    Skip lock renewal via heartbeat (default: false)

    skipStalledCheck?: boolean

    Skip stalled job check — disables stalled event subscription (default: false)

    useLocks?: boolean

    Use lock-based job ownership (BullMQ-style). When enabled, each pulled job gets a lock that must be renewed via heartbeat. Disable for high-throughput scenarios where stall detection is sufficient. Default: true