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

    Hierarchy

    • QueueManagerLifecycle
      • QueueManager
    Index
    ack ackBatch ackBatchWithResults addCron addLog cancel changeDelay changePriority changeWaitingDelay clean clearConcurrency clearLogs clearRateLimit compactMemory count createLock discard drain emitDashboardEvent extendLock fail failWithReason flushPendingWrites flushPersistence forceReleaseClientJobs forgetRemovedResult getAllJobLocks getAllJobLogs getAllJobResults getAllQueueJobCounts getChildrenValues getCloudTelemetry getCompletedJobs getCompletionAsync getCountsPerPriority getCron getDeduplicationJobId getDepCompletions getDlq getDlqConfig getDlqCount getDlqEntries getDlqStats getFailedChildrenValues getGroupActiveCount getGroupConcurrency getGroupJobsCount getGroupRateLimit getGroupRateLimitTtl getGroupsJobsCount getIgnoredChildrenFailures getJob getJobByCustomId getJobIndex getJobs getJobState getLockInfo getLogs getMemoryStats getPerQueueStats getProgress getPrometheusMetrics getQueueJobCounts getQueueJobCountsBatch getQueueLimits getQueueLimitStatus getQueueMetrics getQueuesSummary getResult getResultAsync getShards getStallConfig getStats getStorageStatus isGroupPaused isPaused jobHeartbeat jobHeartbeatBatch listCrons listQueues moveActiveToWait moveToDelayed moveToWaitingChildren obliterate pause pauseGroup promote promoteJobs pull pullBatch pullBatchWithLock pullWithLock purgeDlq push pushBatch pushFlow rateLimitGroup registerClientJob registerWorker releaseClientJobs releaseLock removeChildDependency removeCron removeDeduplicationKey removeDlqJob removeGroupConcurrency removeGroupRateLimit removeJobDeduplicationKey removeLock removeUnprocessedChildren renewJobLock renewJobLockBatch resume resumeGroup retryCompleted retryDlq retryDlqByFilter setConcurrency setDashboardEmit setDlqConfig setGroupConcurrency setGroupRateLimit setOperationalMetricsProvider setRateLimit setStallConfig shutdown subscribe trimQueueEvents unregisterClientJob unregisterWorker unregisterWorkersByClientId updateJobData updateJobParent updateProgress verifyLock waitForJobCompletion waitForJobResult
    webhookManager: WebhookManager
    workerManager: WorkerManager
    • Parameters

      • jobId: JobId
      • Optionalresult: unknown
      • Optionaltoken: string
      • options: CompletionOptions = {}

      Returns Promise<AckOutcome>

    • Parameters

      • jobIds: JobId[]
      • Optionaltokens: string[]

      Returns Promise<AckBatchOutcome>

    • Parameters

      • items: ({ id: JobId; result: unknown; token?: string } & CompletionOptions)[]

      Returns Promise<AckBatchOutcome>

    • Parameters

      • jobId: JobId
      • message: string
      • level: "info" | "warn" | "error" = 'info'

      Returns boolean

    • Parameters

      • queue: string
      • graceMs: number
      • Optionalstate: string
      • Optionallimit: number

      Returns JobId[]

    • Parameters

      • event: string
      • data: Record<string, unknown>

      Returns void

    • Parameters

      • jobId: string | JobId
      • token: string | null
      • duration: number

      Returns Promise<boolean>

    • Parameters

      • jobId: JobId
      • Optionalerror: string
      • Optionaltoken: string
      • unrecoverable: boolean = false
      • Optionalstack: string[]
      • OptionalremoveOnFail: boolean

      Returns Promise<AckOutcome>

    • Non-throwing flush that respects a scheduled write retry backoff.

      Returns number

    • Parameters

      • clientId: string

      Returns number

    • Drop the retained result of a job removed on completion (removedResults). The Cancel outcome (cancelWithOutcome) calls it when it reports the job missing, so an ACK that removed the job between the refusal and the state read leaves no result.

      Parameters

      Returns void

    • Returns Map<string, QueueJobCounts>

    • Parameters

      Returns Promise<Record<string, unknown>>

    • Parameters

      • queueNames: string[]

      Returns {
          eventSubscribers: number;
          pendingDepChecks: number;
          perQueue: Record<
              string,
              {
                  activeGroups: number;
                  uniqueKeys: number;
                  waitingChildren: number;
                  waitingDeps: number;
              },
          >;
      }

    • The completion lookup (WaitJob, the embedded wait reader): distinguishes a completed generation from a valid undefined result, including cold SQLite completions. A job removed on completion answers from its retained result (removedResults, memory only, short-lived) while no current generation holds the ID.

      Parameters

      Returns Promise<{ found: boolean; result: unknown }>

    • Parameters

      • queue: string

      Returns Record<number, number>

    • Parameters

      • queue: string
      • key: string

      Returns string | null

    • Parameters

      • queue: string
      • groupId: string

      Returns number | Promise<number>

    • Parameters

      • queue: string
      • groupId: string

      Returns number | Promise<number | null> | null

    • Parameters

      • queue: string
      • groupId: string

      Returns number | Promise<number>

    • Parameters

      • queue: string
      • groupId: string

      Returns GroupRateLimitOverride | Promise<GroupRateLimitOverride | null> | null

    • Parameters

      • queue: string
      • groupId: string
      • OptionalmaxJobs: number

      Returns number | Promise<number>

    • Parameters

      • queue: string

      Returns number | Promise<number>

    • Parameters

      Returns Promise<Record<string, string>>

    • Parameters

      • queue: string
      • options: { asc?: boolean; end?: number; start?: number; state?: string | string[] } = {}

      Returns Job[]

    • Parameters

      Returns { message: string | null; progress: number } | null

    • Parameters

      • queueName: string

      Returns QueueJobCounts

    • Parameters

      • queueNames: Iterable<string>

      Returns Map<string, QueueJobCounts>

    • Parameters

      • queue: string

      Returns { concurrencyLimit: number | null; rateLimit: number | null }

    • Parameters

      • queue: string
      • OptionalmaxJobs: number

      Returns {
          concurrencyLimit: number | null;
          maxed: boolean;
          rateLimit: { duration: number; max: number } | null;
          rateLimitTtl: number;
      }

    • Returns {
          counts: {
              active: number;
              completed: number;
              delayed: number;
              failed: number;
              prioritized: number;
              waiting: number;
          };
          name: string;
          paused: boolean;
      }[]

    • Async result port used by transports (GetResult); memory and SQLite remain synchronous internally. It reads completed jobs only, as before: the retained result of a job removed on completion answers the completion lookup, not GetResult.

      Parameters

      Returns Promise<unknown>

    • Returns { diskFull: boolean; error: string | null; since: number | null }

    • Parameters

      • queue: string
      • groupId: string

      Returns boolean | Promise<boolean>

    • Parameters

      • queue: string
      • groupId: string

      Returns boolean | Promise<boolean>

    • Parameters

      • queue: string
      • Optionalcount: number

      Returns Promise<number>

    • Parameters

      • queue: string
      • timeoutMs: number = 0
      • Optionalsignal: AbortSignal
      • OptionalgroupOptions: GroupPullOptions

      Returns Promise<Job | null>

    • Parameters

      • queue: string
      • count: number
      • timeoutMs: number = 0
      • Optionalsignal: AbortSignal
      • OptionalgroupOptions: GroupPullOptions

      Returns Promise<Job[]>

    • Parameters

      • queue: string
      • count: number
      • owner: string
      • timeoutMs: number = 0
      • lockTtl: number = DEFAULT_LOCK_TTL
      • Optionalsignal: AbortSignal
      • OptionalgroupOptions: GroupPullOptions

      Returns Promise<{ jobs: Job[]; tokens: string[] }>

    • Parameters

      • queue: string
      • owner: string
      • timeoutMs: number = 0
      • lockTtl: number = DEFAULT_LOCK_TTL
      • Optionalsignal: AbortSignal
      • OptionalgroupOptions: GroupPullOptions

      Returns Promise<{ job: Job | null; token: string | null }>

    • Parameters

      • batch: AtomicFlowBatchInput

      Returns Promise<AtomicFlowBatchResult>

    • Parameters

      • queue: string
      • groupId: string
      • duration: number

      Returns void | Promise<void>

    • Parameters

      • clientId: string

      Returns Promise<number>

    • Parameters

      • queue: string
      • key: string

      Returns Promise<number>

    • Remove one terminal DLQ job without re-enqueuing it.

      Parameters

      • queue: string
      • jobId: JobId

      Returns boolean

    • Parameters

      • queue: string
      • groupId: string

      Returns number | Promise<number>

    • Parameters

      • queue: string
      • groupId: string

      Returns number | Promise<number>

    • Parameters

      • jobId: JobId
      • token: string
      • OptionalnewTtl: number

      Returns boolean

    • Parameters

      • items: { id: JobId; token: string; ttl?: number }[]

      Returns string[]

    • Parameters

      • queue: string
      • groupId: string

      Returns boolean | Promise<boolean>

    • Parameters

      • queue: string
      • OptionaljobId: JobId
      • Optionaloptions: { limit?: number; timestamp?: number }

      Returns number

    • Parameters

      • queue: string
      • limit: number

      Returns void

    • Parameters

      • fn: (event: string, data: Record<string, unknown>) => void

      Returns void

    • Parameters

      • queue: string
      • config: Record<string, unknown>

      Returns void

    • Parameters

      • queue: string
      • groupId: string
      • concurrency: number

      Returns void | Promise<void>

    • Parameters

      • queue: string
      • groupId: string
      • max: number
      • duration: number

      Returns void | Promise<void>

    • Parameters

      • provider: () => OperationalMetrics

      Returns void

    • Parameters

      • queue: string
      • limit: number
      • OptionaldurationMs: number
      • OptionalttlMs: number

      Returns void

    • Parameters

      • queue: string
      • config: Record<string, unknown>

      Returns void

    • Parameters

      • queue: string
      • maxLength: number

      Returns number

    • Parameters

      • clientId: string | undefined
      • jobId: JobId

      Returns void

    • Parameters

      • clientId: string

      Returns number

    • Parameters

      • jobId: JobId
      • progress: number
      • Optionalmessage: string

      Returns Promise<boolean>

    • Parameters

      • jobId: JobId
      • timeoutMs: number
      • Optionalsignal: AbortSignal

      Returns Promise<boolean>

    • waitForJobCompletion that also returns the job's result. A wait woken by the job's completed event answers with the event's data, the worker's return value, so a job removed on completion (which keeps no result) still returns it to a waiter registered when it completed. A wait released without an event reads the store only while its completion is cached; shutdown clears that cache before the callback runs. result is undefined on a timeout or abort. An invalid timeoutMs throws synchronously, as waitForJobCompletion does.

      Parameters

      • jobId: JobId
      • timeoutMs: number
      • Optionalsignal: AbortSignal

      Returns Promise<JobWaitResult>