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

    Interface JobInput

    Input for creating a new job

    interface JobInput {
        backoff?: number | { delay: number; type: "fixed" | "exponential" };
        childrenIds?: JobId[];
        continueParentOnFailure?: boolean;
        customId?: string;
        data: unknown;
        debounceId?: string;
        debounceTtl?: number;
        dedup?: { extend?: boolean; replace?: boolean; ttl?: number };
        delay?: number;
        dependsOn?: JobId[];
        durable?: boolean;
        failParentOnFailure?: boolean;
        groupId?: string;
        ignoreDependencyOnFailure?: boolean;
        keepLogs?: number;
        lifo?: boolean;
        maxAttempts?: number;
        parentId?: JobId;
        priority?: number;
        removeDependencyOnFailure?: boolean;
        removeOnComplete?: boolean;
        removeOnFail?: boolean;
        repeat?: {
            count?: number;
            endDate?: number;
            every?: number;
            immediately?: boolean;
            jobId?: string;
            limit?: number;
            offset?: number;
            pattern?: string;
            prevMillis?: number;
            startDate?: number;
            tz?: string;
        };
        sizeLimit?: number;
        stackTraceLimit?: number;
        stallTimeout?: number;
        tags?: string[];
        timeout?: number;
        timestamp?: number;
        ttl?: number;
        uniqueKey?: string;
    }
    Index
    backoff?: number | { delay: number; type: "fixed" | "exponential" }

    Backoff delay in ms or backoff configuration

    childrenIds?: JobId[]
    continueParentOnFailure?: boolean

    Continue parent processing even if this child fails

    customId?: string
    data: unknown
    debounceId?: string

    Debounce ID

    debounceTtl?: number

    Debounce TTL in milliseconds

    dedup?: { extend?: boolean; replace?: boolean; ttl?: number }

    Advanced deduplication options

    Type Declaration

    • Optionalextend?: boolean

      Extend TTL on duplicate instead of rejecting

    • Optionalreplace?: boolean

      Replace job data on duplicate instead of rejecting

    • Optionalttl?: number

      TTL for unique key in milliseconds

    delay?: number
    dependsOn?: JobId[]
    durable?: boolean

    Force immediate persistence to disk (bypass write buffer). Use for critical jobs where data loss is unacceptable. Default: false (uses buffered writes for better throughput)

    failParentOnFailure?: boolean

    Fail parent job if this child job fails

    groupId?: string
    ignoreDependencyOnFailure?: boolean

    Move job to parent's failed dependencies instead of blocking parent

    keepLogs?: number

    Maximum number of log entries to keep

    lifo?: boolean
    maxAttempts?: number
    parentId?: JobId
    priority?: number
    removeDependencyOnFailure?: boolean

    Remove dependency relationship if this job fails

    removeOnComplete?: boolean
    removeOnFail?: boolean
    repeat?: {
        count?: number;
        endDate?: number;
        every?: number;
        immediately?: boolean;
        jobId?: string;
        limit?: number;
        offset?: number;
        pattern?: string;
        prevMillis?: number;
        startDate?: number;
        tz?: string;
    }

    Type Declaration

    • Optionalcount?: number

      Current count (for internal use when re-queueing)

    • OptionalendDate?: number

      End date timestamp

    • Optionalevery?: number
    • Optionalimmediately?: boolean

      Execute immediately on start

    • OptionaljobId?: string

      Custom job ID for repeat jobs

    • Optionallimit?: number
    • Optionaloffset?: number

      Offset in milliseconds

    • Optionalpattern?: string
    • OptionalprevMillis?: number

      Previous execution timestamp

    • OptionalstartDate?: number

      Start date timestamp

    • Optionaltz?: string

      Timezone for cron pattern

    sizeLimit?: number

    Maximum job data size in bytes

    stackTraceLimit?: number

    Maximum stack trace lines to store

    stallTimeout?: number
    tags?: string[]
    timeout?: number
    timestamp?: number

    Job creation timestamp (default: Date.now())

    ttl?: number
    uniqueKey?: string