From 02adf089b57850e3816d0fb90b247887fe632857 Mon Sep 17 00:00:00 2001 From: roggervalf Date: Sun, 8 Dec 2024 17:57:15 +0000 Subject: [PATCH] deploy: 5b005cd94ba0f98677bed4a44f8669c81f073f26 --- assets/search.js | 2 +- classes/v5.AsyncFifoQueue.html | 4 +- classes/v5.Backoffs.html | 4 +- classes/v5.ChildPool.html | 4 +- classes/v5.ChildProcessor.html | 4 +- classes/v5.DelayedError.html | 4 +- classes/v5.FlowProducer.html | 16 +-- classes/v5.Job.html | 124 ++++++++-------- classes/v5.JobScheduler.html | 22 +-- classes/v5.Queue.html | 142 +++++++++---------- classes/v5.QueueBase.html | 20 +-- classes/v5.QueueEvents.html | 22 +-- classes/v5.QueueEventsProducer.html | 22 +-- classes/v5.QueueGetters.html | 78 +++++----- classes/v5.QueueKeys.html | 4 +- classes/v5.RateLimitError.html | 4 +- classes/v5.RedisConnection.html | 6 +- classes/v5.Repeat.html | 20 +-- classes/v5.Scripts.html | 18 +-- classes/v5.UnrecoverableError.html | 4 +- classes/v5.WaitingChildrenError.html | 4 +- classes/v5.Worker.html | 38 ++--- enums/v5.ChildCommand.html | 4 +- enums/v5.ClientType.html | 4 +- enums/v5.ErrorCode.html | 4 +- enums/v5.MetricsTime.html | 4 +- enums/v5.ParentCommand.html | 4 +- enums/v5.SpanKind.html | 4 +- enums/v5.TelemetryAttributes.html | 4 +- functions/v5.array2obj.html | 2 +- functions/v5.asyncSend.html | 2 +- functions/v5.childSend.html | 2 +- functions/v5.decreaseMaxListeners.html | 2 +- functions/v5.defaultRepeatStrategy.html | 2 +- functions/v5.delay.html | 2 +- functions/v5.errorToJSON.html | 2 +- functions/v5.getNextMillis.html | 2 +- functions/v5.getParentKey.html | 2 +- functions/v5.increaseMaxListeners.html | 2 +- functions/v5.invertObject.html | 2 +- functions/v5.isEmpty.html | 2 +- functions/v5.isNotConnectionError.html | 2 +- functions/v5.isRedisCluster.html | 2 +- functions/v5.isRedisInstance.html | 2 +- functions/v5.isRedisVersionLowerThan.html | 2 +- functions/v5.lengthInUtf8Bytes.html | 2 +- functions/v5.optsAsJSON.html | 2 +- functions/v5.optsFromJSON.html | 2 +- functions/v5.parseObjectValues.html | 2 +- functions/v5.raw2NextJobData.html | 2 +- functions/v5.removeAllQueueData.html | 2 +- functions/v5.removeUndefinedFields.html | 2 +- functions/v5.toString.html | 2 +- functions/v5.trace.html | 2 +- functions/v5.tryCatch.html | 2 +- interfaces/v5.AddChildrenOpts.html | 4 +- interfaces/v5.AddNodeOpts.html | 6 +- interfaces/v5.AdvancedOptions.html | 8 +- interfaces/v5.AdvancedRepeatOptions.html | 6 +- interfaces/v5.Attributes.html | 2 +- interfaces/v5.BackoffOptions.html | 6 +- interfaces/v5.BaseJobOptions.html | 36 ++--- interfaces/v5.BaseOptions.html | 4 +- interfaces/v5.BuiltInStrategies.html | 2 +- interfaces/v5.ChildMessage.html | 4 +- interfaces/v5.ContextManager.html | 10 +- interfaces/v5.DebounceOptions.html | 6 +- interfaces/v5.DefaultJobOptions.html | 24 ++-- interfaces/v5.DependenciesOpts.html | 4 +- interfaces/v5.FlowJobBase.html | 4 +- interfaces/v5.FlowOpts.html | 4 +- interfaces/v5.FlowProducerListener.html | 6 +- interfaces/v5.GetNextJobOptions.html | 4 +- interfaces/v5.IConnection.html | 4 +- interfaces/v5.IoredisListener.html | 4 +- interfaces/v5.JobJson.html | 4 +- interfaces/v5.JobJsonRaw.html | 4 +- interfaces/v5.JobNode.html | 4 +- interfaces/v5.JobSchedulerJson.html | 4 +- interfaces/v5.JobSchedulerTemplateJson.html | 4 +- interfaces/v5.KeepJobs.html | 6 +- interfaces/v5.Metrics.html | 4 +- interfaces/v5.MetricsOptions.html | 4 +- interfaces/v5.MinimalJob.html | 46 +++--- interfaces/v5.MoveToDelayedOpts.html | 4 +- interfaces/v5.MoveToWaitingChildrenOpts.html | 4 +- interfaces/v5.NodeOpts.html | 12 +- interfaces/v5.ObliterateOpts.html | 6 +- interfaces/v5.Parent.html | 4 +- interfaces/v5.ParentKeys.html | 4 +- interfaces/v5.ParentMessage.html | 4 +- interfaces/v5.QueueBaseOptions.html | 12 +- interfaces/v5.QueueEventsListener.html | 42 +++--- interfaces/v5.QueueEventsOptions.html | 18 +-- interfaces/v5.QueueListener.html | 18 +-- interfaces/v5.QueueOptions.html | 18 +-- interfaces/v5.RateLimiterOptions.html | 6 +- interfaces/v5.RawCommand.html | 4 +- interfaces/v5.RepeatBaseOptions.html | 12 +- interfaces/v5.RepeatOptions.html | 20 +-- interfaces/v5.SandboxedJob.html | 4 +- interfaces/v5.SandboxedOptions.html | 8 +- interfaces/v5.Span.html | 14 +- interfaces/v5.SpanOptions.html | 4 +- interfaces/v5.Telemetry.html | 6 +- interfaces/v5.Tracer.html | 4 +- interfaces/v5.WorkerListener.html | 28 ++-- interfaces/v5.WorkerOptions.html | 50 +++---- types/v5.AttributeValue.html | 2 +- types/v5.BackoffStrategy.html | 2 +- types/v5.BulkJobOptions.html | 2 +- types/v5.ClusterOptions.html | 2 +- types/v5.ConnectionOptions.html | 2 +- types/v5.EntryId.html | 2 +- types/v5.EntryRaw.html | 2 +- types/v5.Exception.html | 2 +- types/v5.ExceptionType.html | 2 +- types/v5.FinishedPropValAttribute.html | 2 +- types/v5.FinishedStatus.html | 2 +- types/v5.FlowChildJob.html | 2 +- types/v5.FlowJob.html | 2 +- types/v5.FlowQueuesOpts.html | 2 +- types/v5.JobData.html | 2 +- types/v5.JobJsonSandbox.html | 2 +- types/v5.JobState.html | 2 +- types/v5.JobType.html | 2 +- types/v5.JobsOptions.html | 2 +- types/v5.KeysMap.html | 2 +- types/v5.MinimalQueue.html | 2 +- types/v5.ParentOpts.html | 2 +- types/v5.Processor.html | 2 +- types/v5.RedisClient.html | 2 +- types/v5.RedisJobOptions.html | 2 +- types/v5.RedisOptions.html | 2 +- types/v5.RepeatStrategy.html | 2 +- types/v5.RepeatableJob.html | 2 +- types/v5.RepeatableOptions.html | 2 +- types/v5.SandboxedJobProcessor.html | 2 +- types/v5.StreamName.html | 2 +- types/v5.StreamReadRaw.html | 2 +- types/v5.Time.html | 2 +- variables/v5.DELAY_TIME_1.html | 2 +- variables/v5.DELAY_TIME_5.html | 2 +- variables/v5.PRIORITY_LIMIT.html | 2 +- variables/v5.QUEUE_EVENT_SUFFIX.html | 2 +- variables/v5.RATE_LIMIT_ERROR.html | 2 +- variables/v5.clientCommandMessageReg.html | 2 +- variables/v5.errorObject.html | 2 +- 148 files changed, 631 insertions(+), 629 deletions(-) diff --git a/assets/search.js b/assets/search.js index 8d539ae1c2..883ec0b860 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/classes/v5.AsyncFifoQueue.html b/classes/v5.AsyncFifoQueue.html index 1a2143d4bd..9099546cbf 100644 --- a/classes/v5.AsyncFifoQueue.html +++ b/classes/v5.AsyncFifoQueue.html @@ -1,11 +1,11 @@ AsyncFifoQueue | bullmq - v5.31.2

Class AsyncFifoQueue<T>

AsyncFifoQueue

A minimal FIFO queue for asynchronous operations. Allows adding asynchronous operations and consume them in the order they are resolved.

-

Type Parameters

  • T

Constructors

Type Parameters

  • T

Constructors

Methods

Generated using TypeDoc

\ No newline at end of file +

Constructors

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.Backoffs.html b/classes/v5.Backoffs.html index 7de5323b04..a836201de7 100644 --- a/classes/v5.Backoffs.html +++ b/classes/v5.Backoffs.html @@ -1,5 +1,5 @@ -Backoffs | bullmq - v5.31.2

Class Backoffs

Constructors

constructor +Backoffs | bullmq - v5.31.2

Class Backoffs

Constructors

Properties

Methods

Constructors

Properties

builtinStrategies: BuiltInStrategies = ...

Methods

Generated using TypeDoc

\ No newline at end of file +

Constructors

Properties

builtinStrategies: BuiltInStrategies = ...

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.ChildPool.html b/classes/v5.ChildPool.html index 62ae367eb5..22399e81a7 100644 --- a/classes/v5.ChildPool.html +++ b/classes/v5.ChildPool.html @@ -1,4 +1,4 @@ -ChildPool | bullmq - v5.31.2

Class ChildPool

Constructors

constructor +ChildPool | bullmq - v5.31.2

Class ChildPool

Constructors

Properties

Methods

clean @@ -8,4 +8,4 @@ release remove retain -

Constructors

Properties

free: {
    [key: string]: Child[];
} = {}

Type declaration

  • [key: string]: Child[]
retained: {
    [key: number]: Child;
} = {}

Type declaration

  • [key: number]: Child

Methods

  • Parameters

    • child: Child
    • signal: "SIGKILL" | "SIGTERM" = 'SIGKILL'

    Returns Promise<void>

  • Parameters

    • processFile: string
    • exitHandler: any

    Returns Promise<Child>

Generated using TypeDoc

\ No newline at end of file +

Constructors

Properties

free: {
    [key: string]: Child[];
} = {}

Type declaration

  • [key: string]: Child[]
retained: {
    [key: number]: Child;
} = {}

Type declaration

  • [key: number]: Child

Methods

  • Parameters

    • child: Child
    • signal: "SIGKILL" | "SIGTERM" = 'SIGKILL'

    Returns Promise<void>

  • Parameters

    • processFile: string
    • exitHandler: any

    Returns Promise<Child>

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.ChildProcessor.html b/classes/v5.ChildProcessor.html index 507e84bc2b..7eba626565 100644 --- a/classes/v5.ChildProcessor.html +++ b/classes/v5.ChildProcessor.html @@ -1,7 +1,7 @@ ChildProcessor | bullmq - v5.31.2

Class ChildProcessor

ChildProcessor

This class acts as the interface between a child process and it parent process so that jobs can be processed in different processes.

-

Constructors

Constructors

Properties

currentJobPromise: Promise<unknown>
processor: any
status?: ChildStatus

Methods

Generated using TypeDoc

\ No newline at end of file +

Constructors

Properties

currentJobPromise: Promise<unknown>
processor: any
status?: ChildStatus

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.DelayedError.html b/classes/v5.DelayedError.html index 7c509db6db..567b8d90cb 100644 --- a/classes/v5.DelayedError.html +++ b/classes/v5.DelayedError.html @@ -1,5 +1,5 @@ DelayedError | bullmq - v5.31.2

Class DelayedError

DelayedError

Error to be thrown when job is moved to delayed state from job in active state.

-

Hierarchy

  • Error
    • DelayedError

Constructors

Constructors

Generated using TypeDoc

\ No newline at end of file +

Hierarchy

Constructors

Constructors

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.FlowProducer.html b/classes/v5.FlowProducer.html index e9fa5b8ed6..3ef52c1153 100644 --- a/classes/v5.FlowProducer.html +++ b/classes/v5.FlowProducer.html @@ -4,7 +4,7 @@ Whenever the children of a given parent are completed, the parent will be processed, being able to access the children's result data. All Jobs can be in different queues, either children or parents,

-

Hierarchy

Constructors

Hierarchy

  • EventEmitter
    • FlowProducer

Constructors

Properties

closing keys opts @@ -21,14 +21,14 @@ on once waitUntilReady -

Constructors

Properties

closing: Promise<void>
keys: KeysMap
opts: QueueBaseOptions = ...
queueKeys: QueueKeys
toKey: ((name, type) => string)

Type declaration

    • (name, type): string
    • Parameters

      • name: string
      • type: string

      Returns string

Accessors

Methods

  • Adds a flow.

    +

Constructors

Properties

closing: Promise<void>
keys: KeysMap
opts: QueueBaseOptions = ...
queueKeys: QueueKeys
toKey: ((name, type) => string)

Type declaration

    • (name, type): string
    • Parameters

      • name: string
      • type: string

      Returns string

Accessors

Methods

  • Adds a flow.

    This call would be atomic, either it fails and no jobs will be added to the queues, or it succeeds and all jobs will be added.

    Parameters

    • flow: FlowJob

      an object with a tree-like structure where children jobs will be processed before their parents.

    • Optional opts: FlowOpts

      options that will be applied to the flow object.

      -

    Returns Promise<JobNode>

  • Adds multiple flows.

    +

Returns Promise<JobNode>

  • Adds multiple flows.

    A flow is a tree-like structure of jobs that depend on each other. Whenever the children of a given parent are completed, the parent will be processed, being able to access the children's result data.

    @@ -37,8 +37,8 @@ be added to the queues, or it succeeds and all jobs will be added.

    Parameters

    • flows: FlowJob[]

      an array of objects with a tree-like structure where children jobs will be processed before their parents.

      -

    Returns Promise<JobNode[]>

  • Closes the connection and returns a promise that resolves when the connection is closed.

    -

    Returns Promise<void>

  • Get a flow.

    +

Returns Promise<JobNode[]>

  • Closes the connection and returns a promise that resolves when the connection is closed.

    +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file +

Returns Promise<JobNode>

Generated using TypeDoc

\ No newline at end of file diff --git a/classes/v5.Job.html b/classes/v5.Job.html index 9f62f5097b..7d7879dee0 100644 --- a/classes/v5.Job.html +++ b/classes/v5.Job.html @@ -3,7 +3,7 @@ you add a job to the queue with methods such as Queue.addJob( ... )

A Job instance is also passed to the Worker's process function.

Job

-

Type Parameters

Implements

Constructors

Type Parameters

  • DataType = any
  • ReturnType = any
  • NameType extends string = string

Implements

Constructors

Properties

attemptsMade attemptsStarted data @@ -69,145 +69,145 @@

Constructors

Properties

attemptsMade: number = 0

Number of attempts after the job has failed.

+
  • Optional id: string
  • Returns Job<DataType, ReturnType, NameType>

    Properties

    attemptsMade: number = 0

    Number of attempts after the job has failed.

    Default Value

    0
     
    -
    attemptsStarted: number = 0

    Number of attempts when job is moved to active.

    +
    attemptsStarted: number = 0

    Number of attempts when job is moved to active.

    Default Value

    0
     
    -
    data: DataType

    The payload for this job.

    -
    debounceId?: string

    Debounce identifier.

    +
    data: DataType

    The payload for this job.

    +
    debounceId?: string

    Debounce identifier.

    Deprecated

    use deduplicationId

    -
    deduplicationId?: string

    Deduplication identifier.

    -
    delay: number = 0

    An amount of milliseconds to wait until this job can be processed.

    +
    deduplicationId?: string

    Deduplication identifier.

    +
    delay: number = 0

    An amount of milliseconds to wait until this job can be processed.

    Default Value

    0
     
    -
    failedReason: string

    Reason for failing.

    -
    finishedOn?: number

    Timestamp for when the job finished (completed or failed).

    -
    id?: string
    name: NameType

    The name of the Job

    -
    opts: JobsOptions = {}

    The options object for this job.

    -
    parent?: ParentKeys

    Object that contains parentId (id) and parent queueKey.

    -
    parentKey?: string

    Fully qualified key (including the queue prefix) pointing to the parent of this job.

    -
    priority: number = 0

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that +

    failedReason: string

    Reason for failing.

    +
    finishedOn?: number

    Timestamp for when the job finished (completed or failed).

    +
    id?: string
    name: NameType

    The name of the Job

    +
    opts: JobsOptions = {}

    The options object for this job.

    +
    parent?: ParentKeys

    Object that contains parentId (id) and parent queueKey.

    +
    parentKey?: string

    Fully qualified key (including the queue prefix) pointing to the parent of this job.

    +
    priority: number = 0

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required.

    Default Value

    0
     
    -
    processedBy?: string

    The worker name that is processing or processed this job.

    -
    processedOn?: number

    Timestamp for when the job was processed.

    -
    progress: number | object = 0

    The progress a job has performed so far.

    +
    processedBy?: string

    The worker name that is processing or processed this job.

    +
    processedOn?: number

    Timestamp for when the job was processed.

    +
    progress: number | object = 0

    The progress a job has performed so far.

    Default Value

    0
     
    -
    queueQualifiedName: string

    It includes the prefix, the namespace separator :, and queue name.

    +
    queueQualifiedName: string

    It includes the prefix, the namespace separator :, and queue name.

    repeatJobKey?: string

    Base repeat job key.

    -
    returnvalue: ReturnType = null

    The value returned by the processor when processing this job.

    +
    repeatJobKey?: string

    Base repeat job key.

    +
    returnvalue: ReturnType = null

    The value returned by the processor when processing this job.

    Default Value

    null
     
    -
    stacktrace: string[] = null

    Stacktrace for the error (for failed jobs).

    +
    stacktrace: string[] = null

    Stacktrace for the error (for failed jobs).

    Default Value

    null
     
    -
    timestamp: number

    Timestamp when the job was created (unless overridden with job options).

    -
    token?: string

    The token used for locking this job.

    -

    Accessors

    • get prefix(): string
    • Returns string

      the prefix that is used.

      -
    • get queueName(): string
    • Returns string

      the queue name this job belongs to.

      -

    Methods

    timestamp: number

    Timestamp when the job was created (unless overridden with job options).

    +
    token?: string

    The token used for locking this job.

    +

    Accessors

    • get prefix(): string
    • Returns string

      the prefix that is used.

      +
    • get queueName(): string
    • Returns string

      the queue name this job belongs to.

      +

    Methods

    • Change delay of a delayed job.

      Parameters

      • delay: number

        milliseconds to be added to current time.

      Returns Promise<void>

      void

      -
    • Change job priority.

      Parameters

      • opts: {
            lifo?: boolean;
            priority?: number;
        }

        options containing priority and lifo values.

        • Optional lifo?: boolean
        • Optional priority?: number

      Returns Promise<void>

      void

      -
    • Clears job's logs

      Parameters

      • Optional keepLogs: number

        the amount of log entries to preserve

        -

      Returns Promise<void>

    • Marks a job to not be retried if it fails (even if attempts has been configured)

      -

      Returns void

    • Extend the lock for this job.

      +

    Returns Promise<void>

    • Marks a job to not be retried if it fails (even if attempts has been configured)

      +

      Returns void

    • Extend the lock for this job.

      Parameters

      • token: string

        unique token for the lock

      • duration: number

        lock duration in milliseconds

        -

      Returns Promise<number>

    • Get this jobs children result values if any.

      +

    Returns Promise<number>

    • Get this jobs children result values if any.

      Type Parameters

      • CT = any

      Returns Promise<{
          [jobKey: string]: CT;
      }>

      Object mapping children job keys with their values.

      -
    • Get children job keys if this job is a parent and has children.

      +
    • Get children job keys if this job is a parent and has children.

      Parameters

      Returns Promise<{
          nextProcessedCursor?: number;
          nextUnprocessedCursor?: number;
          processed?: Record<string, any>;
          unprocessed?: string[];
      }>

      dependencies separated by processed and unprocessed.

      Remarks

      Count options before Redis v7.2 works as expected with any quantity of entries on processed/unprocessed dependencies, since v7.2 you must consider that count won't have any effect until processed/unprocessed dependencies have a length greater than 127

      See

      https://redis.io/docs/management/optimization/memory-optimization/#redis--72

      -
    • Get children job counts if this job is a parent and has children.

      +
    • Get children job counts if this job is a parent and has children.

      Parameters

      • opts: {
            processed?: boolean;
            unprocessed?: boolean;
        } = {}
        • Optional processed?: boolean
        • Optional unprocessed?: boolean

      Returns Promise<{
          processed?: number;
          unprocessed?: number;
      }>

      dependencies count separated by processed and unprocessed.

      -
    • Get this jobs children failure values if any.

      +
    • Get this jobs children failure values if any.

      Returns Promise<{
          [jobKey: string]: string;
      }>

      Object mapping children job keys with their failure values.

      -
    • Get current state.

      Returns Promise<"unknown" | JobState>

      Returns one of these values: 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'.

      -
    • Returns Promise<boolean>

      true of the job is active.

      -
    • Returns Promise<boolean>

      true if the job has completed.

      -
    • Returns Promise<boolean>

      true if the job is delayed.

      -
    • Returns Promise<boolean>

      true if the job has failed.

      -
    • Returns Promise<boolean>

      true if the job is waiting.

      -
    • Returns Promise<boolean>

      true if the job is waiting for children.

      -
    • Returns Promise<boolean>

      true of the job is active.

      +
    • Returns Promise<boolean>

      true if the job has completed.

      +
    • Returns Promise<boolean>

      true if the job is delayed.

      +
    • Returns Promise<boolean>

      true if the job has failed.

      +
    • Returns Promise<boolean>

      true if the job is waiting.

      +
    • Returns Promise<boolean>

      true if the job is waiting for children.

      +
    • Logs one row of log data.

      Parameters

      • logRow: string

        string with log data to be logged.

      Returns Promise<number>

      The total number of log entries for this job so far.

      -
    • Moves a job to the completed queue. +

    • Moves a job to the completed queue. Returned job to be used with Queue.prototype.nextJobFromJobData.

      Parameters

      • returnValue: ReturnType

        The jobs success message.

      • token: string

        Worker token used to acquire completed job.

      • fetchNext: boolean = true

        True when wanting to fetch the next job.

      Returns Promise<void | any[]>

      Returns the jobData of the next job in the waiting queue or void.

      -
    • Moves the job to the delay set.

      +
    • Moves the job to the delay set.

      Parameters

      • timestamp: number

        timestamp where the job should be moved back to "wait"

      • Optional token: string

        token to check job is locked by current worker

        -

      Returns Promise<void>

    • Moves a job to the failed queue.

      +

    Returns Promise<void>

    • Moves a job to the failed queue.

      Type Parameters

      • E extends Error

      Parameters

      • err: E

        the jobs error message.

      • token: string

        token to check job is locked by current worker

      • fetchNext: boolean = false

        true when wanting to fetch the next job

      Returns Promise<void | any[]>

      Returns the jobData of the next job in the waiting queue or void.

      -
    • Moves the job to the waiting-children set.

      +
    • Moves the job to the waiting-children set.

      Parameters

      • token: string

        Token to check job is locked by current worker

      • opts: MoveToWaitingChildrenOpts = {}

        The options bag for moving a job to waiting-children.

      Returns Promise<boolean>

      true if the job was moved

      -
    • Promotes a delayed job so that it starts to be processed as soon as possible.

      -

      Returns Promise<void>

    • Completely remove the job from the queue. +

    • Promotes a delayed job so that it starts to be processed as soon as possible.

      +

      Returns Promise<void>

    • Completely remove the job from the queue. Note, this call will throw an exception if the job is being processed when the call is performed.

      Parameters

      • opts: {
            removeChildren: boolean;
        } = {}

        Options to remove a job

        -
        • removeChildren: boolean

      Returns Promise<void>

    • Removes child dependency from parent when child is not yet finished

      +
      • removeChildren: boolean

    Returns Promise<void>

    • Removes child dependency from parent when child is not yet finished

      Returns Promise<boolean>

      True if the relationship existed and if it was removed.

      -
    • Attempts to retry the job. Only a job that has failed or completed can be retried.

      +
    • Attempts to retry the job. Only a job that has failed or completed can be retried.

      Parameters

      Returns Promise<void>

      If resolved and return code is 1, then the queue emits a waiting event otherwise the operation was not a success and throw the corresponding error. If the promise rejects, it indicates that the script failed to execute

      -
    • Returns Omit<Job<DataType, ReturnType, NameType>, "remove" | "prefix" | "toJSON" | "scripts" | "changeDelay" | "changePriority" | "extendLock" | "getState" | "moveToDelayed" | "moveToWaitingChildren" | "promote" | "removeChildDependency" | "updateData" | "updateProgress" | "discard" | "addJob" | "queue" | "asJSON" | "asJSONSandbox" | "log" | "clearLogs" | "moveToCompleted" | "moveToFailed" | "isCompleted" | "isFailed" | "isDelayed" | "isWaitingChildren" | "isActive" | "isWaiting" | "queueName" | "getChildrenValues" | "getFailedChildrenValues" | "getDependencies" | "getDependenciesCount" | "waitUntilFinished" | "retry">

    • Returns Omit<Job<DataType, ReturnType, NameType>, "remove" | "prefix" | "toJSON" | "scripts" | "changeDelay" | "changePriority" | "extendLock" | "getState" | "moveToDelayed" | "moveToWaitingChildren" | "promote" | "removeChildDependency" | "updateData" | "updateProgress" | "discard" | "addJob" | "queue" | "asJSON" | "asJSONSandbox" | "log" | "clearLogs" | "moveToCompleted" | "moveToFailed" | "isCompleted" | "isFailed" | "isDelayed" | "isWaitingChildren" | "isActive" | "isWaiting" | "queueName" | "getChildrenValues" | "getFailedChildrenValues" | "getDependencies" | "getDependenciesCount" | "waitUntilFinished" | "retry">

    • Updates a job's progress

      +

    Returns Promise<void>

    • Updates a job's progress

      Parameters

      • progress: number | object

        number or object to be saved as progress.

        -

      Returns Promise<void>

    • Returns a promise the resolves when the job has completed (containing the return value of the job), +

    Returns Promise<void>

    • Returns a promise the resolves when the job has completed (containing the return value of the job), or rejects when the job has failed (containing the failedReason).

      Parameters

      • queueEvents: QueueEvents

        Instance of QueueEvents.

      • Optional ttl: number

        Time in milliseconds to wait for job to finish before timing out.

        -

      Returns Promise<ReturnType>

    • addJobLog

      +

    Returns Promise<ReturnType>

    • addJobLog

      Parameters

      • queue: MinimalQueue

        Queue instance

      • jobId: string

        Job id

      • logRow: string

        Log row

      • Optional keepLogs: number

        optional maximum number of logs to keep

      Returns Promise<number>

      The total number of log entries for this job so far.

      -
    • Creates a new job and adds it to the queue.

      +
    • Creates a new job and adds it to the queue.

      Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • queue: MinimalQueue

        the queue where to add the job.

      • name: N

        the name of the job.

      • data: T

        the payload of the job.

      • Optional opts: JobsOptions

        the options bag for this job.

        -

      Returns Promise<Job<T, R, N>>

    • Creates a bulk of jobs and adds them atomically to the given queue.

      +

    Returns Promise<Job<T, R, N>>

    • Creates a bulk of jobs and adds them atomically to the given queue.

      Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • queue: MinimalQueue

        the queue were to add the jobs.

      • jobs: {
            data: T;
            name: N;
            opts?: BulkJobOptions;
        }[]

        an array of jobs to be added to the queue.

        -

      Returns Promise<Job<T, R, N>[]>

    • Fetches a Job from the queue given the passed job id.

      +

    Returns Promise<Job<T, R, N>[]>

    • Fetches a Job from the queue given the passed job id.

      Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • queue: MinimalQueue

        the queue where the job belongs to.

      • jobId: string

        the job id.

        -

      Returns Promise<Job<T, R, N>>

    • Instantiates a Job from a JobJsonRaw object (coming from a deserialized JSON object)

      +

    Returns Promise<Job<T, R, N>>

    • Instantiates a Job from a JobJsonRaw object (coming from a deserialized JSON object)

      Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • queue: MinimalQueue

        the queue where the job belongs to.

      • json: JobJsonRaw

        the plain object containing the job.

      • Optional jobId: string

        an optional job id (overrides the id coming from the JSON object)

        -

      Returns Job<T, R, N>

    Generated using TypeDoc

    \ No newline at end of file +

    Returns Job<T, R, N>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.JobScheduler.html b/classes/v5.JobScheduler.html index 8f9e8d26fb..b6af1f15cc 100644 --- a/classes/v5.JobScheduler.html +++ b/classes/v5.JobScheduler.html @@ -1,7 +1,7 @@ JobScheduler | bullmq - v5.31.2

    Class JobScheduler

    QueueBase

    Description

    Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      -

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      +

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      +

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      Parameters

      • event: string | symbol

        The emitted event.

        -
      • Rest ...args: any[]

      Returns boolean

    • Parameters

      • jobSchedulerId: string

      Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      +
    • Rest ...args: any[]

    Returns boolean

    • Parameters

      • jobSchedulerId: string

      Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • jobSchedulerId: string
      • repeatOpts: Omit<RepeatOptions, "offset" | "key" | "prevMillis">
      • jobName: N
      • jobData: T
      • opts: Omit<JobsOptions, "repeat" | "jobId" | "delay">
      • __namedParameters: {
            override: boolean;
        }
        • override: boolean

      Returns Promise<Job<T, R, N>>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.Queue.html b/classes/v5.Queue.html index 145c0c6277..aa12fef5fd 100644 --- a/classes/v5.Queue.html +++ b/classes/v5.Queue.html @@ -6,7 +6,7 @@

    Type Parameters

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    closing: Promise<void>
    jobsOpts: BaseJobOptions
    keys: KeysMap
    name: string

    The name of the queue.

    -

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    token: string = ...

    Accessors

    • get metaValues(): Record<string, string | number>
    • Returns Record<string, string | number>

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    Constructors

    Properties

    closing: Promise<void>
    jobsOpts: BaseJobOptions
    keys: KeysMap
    name: string

    The name of the queue.

    +

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    token: string = ...

    Accessors

    • get metaValues(): Record<string, string | number>
    • Returns Record<string, string | number>

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    Returns Promise<Job<DataType, ResultType, NameType>>

    • Logs one row of job's log data.

      +

    Returns Promise<Job<DataType, ResultType, NameType>[]>

    • Logs one row of job's log data.

      Parameters

      • jobId: string

        The job id to log against.

      • logRow: string

        String with log data to be logged.

      • Optional keepLogs: number

        Max number of log entries to keep (0 for unlimited).

      Returns Promise<number>

      The total number of log entries for this job so far.

      -
    • Cleans jobs from a queue. Similar to drain but keeps jobs within a certain +

    • Cleans jobs from a queue. Similar to drain but keeps jobs within a certain grace period.

      Parameters

      • grace: number

        The grace period in milliseconds

      • limit: number

        Max number of jobs to clean

      • type: "failed" | "active" | "paused" | "completed" | "wait" | "prioritized" | "delayed" = 'completed'

        The type of job to clean Possible values are completed, wait, active, paused, delayed, failed. Defaults to completed.

      Returns Promise<string[]>

      Id jobs from the deleted records

      -
    • Returns the number of jobs waiting to be processed. This includes jobs that are +

    • Returns the number of jobs waiting to be processed. This includes jobs that are "waiting" or "delayed" or "prioritized" or "waiting-children".

      -

      Returns Promise<number>

    • Drains the queue, i.e., removes all jobs that are waiting or delayed, but not active, completed or failed.

      Parameters

      • delayed: boolean = false

        Pass true if it should also clean the delayed jobs.

        -

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      +

    Returns Promise<void>

    Returns boolean

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get jobId that starts debounced state.

      +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    Returns Promise<string>

    • Returns the qualified job ids and the raw job data (if available) of the +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Returns the qualified job ids and the raw job data (if available) of the children jobs of the given parent job. It is possible to get either the already processed children, in this case an array of qualified job ids and their result values will be returned, @@ -154,43 +154,43 @@ for example: "bull:myqueue:jobid".

      Parameters

      • parentId: string

        The id of the parent job

      • type: "pending" | "processed"

        "processed" | "pending"

        -
      • start: number
      • end: number

      Returns Promise<{
          items: {
              err?: string;
              id: string;
              v?: any;
          }[];
          jobs: JobJsonRaw[];
          total: number;
      }>

    • Returns the jobs that are in the "failed" status.

      +
    • start: number
    • end: number

    Returns Promise<{
        items: {
            err?: string;
            id: string;
            v?: any;
        }[];
        jobs: JobJsonRaw[];
        total: number;
    }>

    • Get global concurrency value. +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get global concurrency value. Returns null in case no value is set.

      -

      Returns Promise<number>

    • Job counts by type

      +

      Returns Promise<number>

    • Job counts by type

      Queue#getJobCountByTypes('completed') => completed count Queue#getJobCountByTypes('completed,failed') => completed + failed count Queue#getJobCountByTypes('completed', 'failed') => completed + failed count Queue#getJobCountByTypes('completed', 'waiting', 'failed') => completed + waiting + failed count

      -

      Parameters

      Returns Promise<number>

    • Returns the job counts for each type specified or every list/set in the queue by default.

      Parameters

      Returns Promise<{
          [index: string]: number;
      }>

      An object, key (type) and value (count)

      -
    • Returns the logs for a given Job.

      Parameters

      • jobId: string

        the id of the job to get the logs for.

      • start: number = 0

        zero based index from where to start returning jobs.

      • end: number = -1

        zero based index where to stop returning jobs.

      • asc: boolean = true

        if true, the jobs will be returned in ascending order.

        -

      Returns Promise<{
          count: number;
          logs: string[];
      }>

    Returns Promise<{
        count: number;
        logs: string[];
    }>

    • Get all Job Schedulers

      +

    Returns Promise<JobSchedulerJson<DataType>>

    • Get all Job Schedulers

      Parameters

      • Optional start: number

        Offset of first scheduler to return.

      • Optional end: number

        Offset of last scheduler to return.

      • Optional asc: boolean

        Determine the order in which schedulers are returned based on their next execution time.

        -

      Returns Promise<RepeatableJob[]>

    • Get the number of job schedulers.

      +

    Returns Promise<JobSchedulerJson<DataType>[]>

    • Get the number of job schedulers.

      Returns Promise<number>

      The number of job schedulers.

      -
    • Get current job state.

      Parameters

      • jobId: string

        job identifier.

      Returns Promise<"unknown" | JobState>

      Returns one of these values: 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'.

      -
    • Get queue metrics related to the queue.

      +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get queue metrics related to the queue.

      This method returns the gathered metrics for the queue. The metrics are represented as an array of job counts per unit of time (1 minute).

      @@ -201,110 +201,110 @@

    Returns Promise<Metrics>

    • Returns an object with queue metrics.
    -
    • Get queue events list related to the queue. +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get queue events list related to the queue. Note: GCP does not support SETNAME, so this call will not work

      Returns Promise<{
          [index: string]: string;
      }[]>

      • Returns an array with queue events info.

      Deprecated

      do not use this method, it will be removed in the future.

      -
    • Returns the time to live for a rate limited key in milliseconds.

      Parameters

      • Optional maxJobs: number

        max jobs to be considered in rate limit state. If not passed it will return the remaining ttl without considering if max jobs is excedeed.

      Returns Promise<number>

      -2 if the key does not exist. -1 if the key exists but has no associated expire.

    • Get all repeatable meta jobs.

      Parameters

      • Optional start: number

        Offset of first job to return.

      • Optional end: number

        Offset of last job to return.

      • Optional asc: boolean

        Determine the order in which jobs are returned based on their next execution time.

      Returns Promise<RepeatableJob[]>

      Deprecated

      This method is deprecated and will be removed in v6. Use getJobSchedulers instead.

      -
    • Get library version.

      Returns Promise<string>

      the content of the meta.library field.

      -

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get the worker list related to the queue. i.e. all the known +

    Returns Promise<JobBase<DataTypeOrJob, ResultType, NameType>[]>

    • Get the worker list related to the queue. i.e. all the known workers that are available to process jobs for this queue. Note: GCP does not support SETNAME, so this call will not work

      Returns Promise<{
          [index: string]: string;
      }[]>

      • Returns an array with workers info.
      -
    • Returns true if the queue is currently maxed.

      -

      Returns Promise<boolean>

    • Returns true if the queue is currently paused.

      -

      Returns Promise<boolean>

    • Returns true if the queue is currently maxed.

      +

      Returns Promise<boolean>

    • Returns true if the queue is currently paused.

      +

      Returns Promise<boolean>

    • Completely destroys the queue and all of its contents irreversibly. This method will the pause the queue and requires that there are no active jobs. It is possible to bypass this requirement, i.e. not having active jobs using the "force" option.

      Note: This operation requires to iterate on all the jobs stored in the queue and can be slow for very large queues.

      Parameters

      Returns Promise<void>

    • Pauses the processing of this queue globally.

      +

    Returns Promise<void>

    • Pauses the processing of this queue globally.

      We use an atomic RENAME operation on the wait queue. Since we have blocking calls with BRPOPLPUSH on the wait queue, as long as the queue is renamed to 'paused', no new jobs will be processed (the current ones will run until finalized).

      Adding jobs requires a LUA script to check first if the paused list exist and in that case it will add it there instead of the wait list.

      -

      Returns Promise<void>

    • Promote all the delayed jobs.

      -

      Parameters

      • opts: {
            count?: number;
        } = {}
        • Optional count?: number

      Returns Promise<void>

    • Overrides the rate limit to be active for the next jobs.

      +

      Returns Promise<void>

    • Promote all the delayed jobs.

      +

      Parameters

      • opts: {
            count?: number;
        } = {}
        • Optional count?: number

      Returns Promise<void>

    • Overrides the rate limit to be active for the next jobs.

      Parameters

      • expireTimeMs: number

        expire time in ms of this rate limit.

        -

      Returns Promise<void>

    • Removes the given job from the queue as well as all its +

    Returns Promise<void>

    • Removes the given job from the queue as well as all its dependencies.

      Parameters

      • jobId: string

        The id of the job to remove

      • opts: {
            removeChildren: boolean;
        } = {}

        Options to remove a job

        • removeChildren: boolean

      Returns Promise<number>

      1 if it managed to remove the job or 0 if the job or any of its dependencies were locked.

      -
    • Removes a debounce key.

      Parameters

      • id: string

        identifier

      Returns Promise<number>

      Deprecated

      use removeDeduplicationKey

      -
    • Removes a deduplication key.

      +
    • Removes a deduplication key.

      Parameters

      • id: string

        identifier

        -

      Returns Promise<number>

    • Delete old priority helper key.

      -

      Returns Promise<number>

    • Removes a job scheduler.

      -

      Parameters

      • jobSchedulerId: string

      Returns Promise<boolean>

    • Removes rate limit key.

      -

      Returns Promise<number>

    • Removes a repeatable job.

      +

    Returns Promise<number>

    • Delete old priority helper key.

      +

      Returns Promise<number>

    • Removes a job scheduler.

      +

      Parameters

      • jobSchedulerId: string

      Returns Promise<boolean>

    • Removes rate limit key.

      +

      Returns Promise<number>

    • Removes a repeatable job.

      Note: you need to use the exact same repeatOpts when deleting a repeatable job than when adding it.

      Parameters

      Returns Promise<boolean>

      Deprecated

      This method is deprecated and will be removed in v6. Use removeJobScheduler instead.

      See

      removeRepeatableByKey

      -
    • Removes a repeatable job by its key. Note that the key is the one used +

    • Removes a repeatable job by its key. Note that the key is the one used to store the repeatable job metadata and not one of the job iterations themselves. You can use "getRepeatableJobs" in order to get the keys.

      Parameters

      • key: string

      Returns Promise<boolean>

      See

      getRepeatableJobs

      Deprecated

      This method is deprecated and will be removed in v6. Use removeJobScheduler instead.

      -
    • Resumes the processing of this queue globally.

      +
    • Resumes the processing of this queue globally.

      The method reverses the pause operation by resuming the processing of the queue.

      -

      Returns Promise<void>

    • Retry all the failed or completed jobs.

      -

      Parameters

      • opts: {
            count?: number;
            state?: FinishedStatus;
            timestamp?: number;
        } = {}
        • Optional count?: number
        • Optional state?: FinishedStatus
        • Optional timestamp?: number

      Returns Promise<void>

    • Enable and set global concurrency value.

      +

      Returns Promise<void>

    • Retry all the failed or completed jobs.

      +

      Parameters

      • opts: {
            count?: number;
            state?: FinishedStatus;
            timestamp?: number;
        } = {}
        • Optional count?: number
        • Optional state?: FinishedStatus
        • Optional timestamp?: number

      Returns Promise<void>

    • Enable and set global concurrency value.

      Parameters

      • concurrency: number

        Maximum number of simultaneous jobs that the workers can handle. For instance, setting this value to 1 ensures that no more than one job is processed at any given time. If this limit is not defined, there will be no restriction on the number of concurrent jobs.

        -

      Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      +

    Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    • Trim the event stream to an approximately maxLength.

      -

      Parameters

      • maxLength: number

      Returns Promise<number>

    • Updates the given job's progress.

      +
        • (span?, dstPropagationMetadata?): T | Promise<T>
        • Parameters

          • Optional span: Span<any>
          • Optional dstPropagationMetadata: string

          Returns T | Promise<T>

    • Optional srcPropagationMetadata: string

    Returns Promise<T | Promise<T>>

    • Trim the event stream to an approximately maxLength.

      +

      Parameters

      • maxLength: number

      Returns Promise<number>

    • Updates the given job's progress.

      Parameters

      • jobId: string

        The id of the job to update

      • progress: number | object

        Number or object to be saved as progress.

        -

      Returns Promise<void>

    Returns Promise<void>

    • Upserts a scheduler.

      A scheduler is a job factory that creates jobs at a given interval. Upserting a scheduler will create a new job scheduler or update an existing one. It will also create the first job based on the repeat options and delayed accordingly.

      @@ -312,4 +312,4 @@

      Deprecated

      This method is deprecated and will be removed in v6. Use r

    • Optional jobTemplate: {
          data?: DataType;
          name?: NameType;
          opts?: Omit<JobsOptions, "repeat" | "jobId" | "delay">;
      }

      Job template. If provided it will be used for all the jobs created by the scheduler.

    Returns Promise<Job<DataType, ResultType, NameType>>

    The next job to be scheduled (would normally be in delayed state).

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.QueueBase.html b/classes/v5.QueueBase.html index 0c25c86e29..327363097a 100644 --- a/classes/v5.QueueBase.html +++ b/classes/v5.QueueBase.html @@ -1,7 +1,7 @@ QueueBase | bullmq - v5.31.2

    Class QueueBase

    QueueBase

    Description

    Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes.

    -

    Hierarchy (view full)

    Implements

    Constructors

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    closing keys name @@ -19,17 +19,17 @@
  • opts: QueueBaseOptions = ...

    Options for the queue.

  • Connection: typeof RedisConnection = RedisConnection

    An optional "Connection" class used to instantiate a Connection. This is useful for testing with mockups and/or extending the Connection class and passing an alternate implementation.

    -
  • hasBlockingConnection: boolean = false
  • Returns QueueBase

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      -

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      +
    • hasBlockingConnection: boolean = false

    Returns QueueBase

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      +

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      Parameters

      • event: string | symbol

        The emitted event.

        -
      • Rest ...args: any[]

      Returns boolean

    • Wraps the code with telemetry and provides a span for configuration.

      +
    • Rest ...args: any[]

    Returns boolean

    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.QueueEvents.html b/classes/v5.QueueEvents.html index ee66a815b1..1dbb44d473 100644 --- a/classes/v5.QueueEvents.html +++ b/classes/v5.QueueEvents.html @@ -1,7 +1,7 @@ QueueEvents | bullmq - v5.31.2

    Class QueueEvents

    The QueueEvents class is used for listening to the global events emitted by a given queue.

    This class requires a dedicated redis connection.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    closing keys name @@ -19,19 +19,19 @@ run trace waitUntilReady -

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Emits an event. Normally used by subclasses to emit events.

      +

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Manually starts running the event consumming loop. This shall be used if you do not +

    • Rest ...args: CustomParameters<QEL[U]>

    Returns boolean

    • Manually starts running the event consumming loop. This shall be used if you do not use the default "autorun" option on the constructor.

      -

      Returns Promise<void>

    • Wraps the code with telemetry and provides a span for configuration.

      +

      Returns Promise<void>

    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.QueueEventsProducer.html b/classes/v5.QueueEventsProducer.html index a7860d3b72..fdd1738a93 100644 --- a/classes/v5.QueueEventsProducer.html +++ b/classes/v5.QueueEventsProducer.html @@ -1,5 +1,5 @@ QueueEventsProducer | bullmq - v5.31.2

    Class QueueEventsProducer

    The QueueEventsProducer class is used for publishing custom events.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Emits an event. Normally used by subclasses to emit events.

      +

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Emits an event. Normally used by subclasses to emit events.

      Parameters

      • event: string | symbol

        The emitted event.

        -
      • Rest ...args: any[]

      Returns boolean

    • Publish custom event to be processed in QueueEvents.

      +
    • Rest ...args: any[]

    Returns boolean

    • Publish custom event to be processed in QueueEvents.

      Type Parameters

      • T extends {
            eventName: string;
        }

      Parameters

      • argsObj: T

        Event payload

      • maxEvents: number = 1000

        Max quantity of events to be saved

        -

      Returns Promise<void>

    • Wraps the code with telemetry and provides a span for configuration.

      +

    Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.QueueGetters.html b/classes/v5.QueueGetters.html index 0ce64fba42..555e8e69fa 100644 --- a/classes/v5.QueueGetters.html +++ b/classes/v5.QueueGetters.html @@ -1,6 +1,6 @@ QueueGetters | bullmq - v5.31.2

    Class QueueGetters<JobBase>

    QueueGetters

    Description

    Provides different getters for different aspects of a queue.

    -

    Type Parameters

    Hierarchy (view full)

    Constructors

    Type Parameters

    Hierarchy (view full)

    Constructors

    Properties

    closing keys name @@ -49,35 +49,35 @@
  • opts: QueueBaseOptions = ...

    Options for the queue.

  • Connection: typeof RedisConnection = RedisConnection

    An optional "Connection" class used to instantiate a Connection. This is useful for testing with mockups and/or extending the Connection class and passing an alternate implementation.

    -
  • hasBlockingConnection: boolean = false
  • Returns QueueGetters<JobBase>

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      -

      Returns Promise<void>

    • Returns the number of jobs waiting to be processed. This includes jobs that are +

    • hasBlockingConnection: boolean = false

    Returns QueueGetters<JobBase>

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      +

      Returns Promise<void>

    • Returns the number of jobs waiting to be processed. This includes jobs that are "waiting" or "delayed" or "prioritized" or "waiting-children".

      -

      Returns Promise<number>

    • Emits an event. Normally used by subclasses to emit events.

      +

      Returns Promise<number>

    • Emits an event. Normally used by subclasses to emit events.

      Parameters

      • event: string | symbol

        The emitted event.

        -
      • Rest ...args: any[]

      Returns boolean

    • Returns the jobs that are in the "active" status.

      +
    • Rest ...args: any[]

    Returns boolean

    • Returns the jobs that are in the "active" status.

      Parameters

      • start: number = 0

        zero based index from where to start returning jobs.

      • end: number = -1

        zero based index where to stop returning jobs.

        -

      Returns Promise<JobBase[]>

    • Returns the number of jobs in active status.

      -

      Returns Promise<number>

    • Returns the jobs that are in the "completed" status.

      +

    Returns Promise<JobBase[]>

    Returns Promise<JobBase[]>

    Returns Promise<string>

    Returns Promise<JobBase[]>

    Returns Promise<{
        items: {
            err?: string;
            id: string;
            v?: any;
        }[];
        jobs: JobJsonRaw[];
        total: number;
    }>

    Returns Promise<JobBase[]>

    Returns Promise<{
        count: number;
        logs: string[];
    }>

    Returns Promise<JobBase[]>

    Returns Promise<Metrics>

    -

    Returns Promise<JobBase[]>

    Returns Promise<JobBase[]>

    Returns Promise<JobBase[]>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.QueueKeys.html b/classes/v5.QueueKeys.html index 952a9adf56..846d6d807f 100644 --- a/classes/v5.QueueKeys.html +++ b/classes/v5.QueueKeys.html @@ -1,6 +1,6 @@ -QueueKeys | bullmq - v5.31.2

    Class QueueKeys

    Constructors

    constructor +QueueKeys | bullmq - v5.31.2

    Class QueueKeys

    Constructors

    Properties

    Methods

    Constructors

    Properties

    prefix: string = 'bull'

    Methods

    Generated using TypeDoc

    \ No newline at end of file +

    Constructors

    Properties

    prefix: string = 'bull'

    Methods

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.RateLimitError.html b/classes/v5.RateLimitError.html index aa5747bbe5..344ad0ebcf 100644 --- a/classes/v5.RateLimitError.html +++ b/classes/v5.RateLimitError.html @@ -1,4 +1,4 @@ RateLimitError | bullmq - v5.31.2

    Class RateLimitError

    RateLimitError

    Error to be thrown when queue reaches a rate limit.

    -

    Hierarchy

    • Error
      • RateLimitError

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file +

    Hierarchy

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.RedisConnection.html b/classes/v5.RedisConnection.html index 74d230a148..6af51af520 100644 --- a/classes/v5.RedisConnection.html +++ b/classes/v5.RedisConnection.html @@ -1,4 +1,4 @@ -RedisConnection | bullmq - v5.31.2

    Class RedisConnection

    Hierarchy

    • EventEmitter
      • RedisConnection

    Constructors

    constructor +RedisConnection | bullmq - v5.31.2

    Class RedisConnection

    Hierarchy

    • EventEmitter
      • RedisConnection

    Constructors

    Properties

    Constructors

    Properties

    capabilities: RedisCapabilities = ...
    closing: boolean
    status: "closed" | "closing" | "ready" | "initializing" = 'initializing'
    minimumVersion: string = '5.0.0'
    recommendedMinimumVersion: string = '6.2.0'

    Accessors

    Methods

    Generated using TypeDoc

    \ No newline at end of file +

    Constructors

    Properties

    capabilities: RedisCapabilities = ...
    closing: boolean
    status: "closed" | "closing" | "ready" | "initializing" = 'initializing'
    minimumVersion: string = '5.0.0'
    recommendedMinimumVersion: string = '6.2.0'

    Accessors

    Methods

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.Repeat.html b/classes/v5.Repeat.html index 70db9f46e3..bf34711408 100644 --- a/classes/v5.Repeat.html +++ b/classes/v5.Repeat.html @@ -1,7 +1,7 @@ Repeat | bullmq - v5.31.2

    Class Repeat

    QueueBase

    Description

    Base class for all classes that need to interact with queues. This class is normally not used directly, but extended by the other classes.

    -

    Hierarchy (view full)

    Constructors

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    -
    opts: QueueBaseOptions = ...

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      -

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      +

    Constructors

    Properties

    closing: Promise<void>
    keys: KeysMap
    name: string

    The name of the queue.

    +
    opts: QueueBaseOptions = ...

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Closes the connection and returns a promise that resolves when the connection is closed.

      +

      Returns Promise<void>

    • Emits an event. Normally used by subclasses to emit events.

      Parameters

      • event: string | symbol

        The emitted event.

        -
      • Rest ...args: any[]

      Returns boolean

    • Type Parameters

      • T = any
      • N extends string = string

      Parameters

      • name: N
      • nextMillis: number
      • repeatJobKey: string
      • data: T

      Returns string

    • Parameters

      Returns Promise<number>

    • Parameters

      • repeatJobKey: string

      Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      +
    • Rest ...args: any[]

    Returns boolean

    • Type Parameters

      • T = any
      • N extends string = string

      Parameters

      • name: N
      • nextMillis: number
      • repeatJobKey: string
      • data: T

      Returns string

    • Parameters

      Returns Promise<number>

    • Parameters

      • repeatJobKey: string

      Returns Promise<number>

    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • name: N
      • data: T
      • opts: JobsOptions
      • __namedParameters: {
            override: boolean;
        }
        • override: boolean

      Returns Promise<Job<T, R, N>>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.Scripts.html b/classes/v5.Scripts.html index ff44e2db2f..3c397119fa 100644 --- a/classes/v5.Scripts.html +++ b/classes/v5.Scripts.html @@ -1,4 +1,4 @@ -Scripts | bullmq - v5.31.2

    Class Scripts

    Constructors

    constructor +Scripts | bullmq - v5.31.2

    Class Scripts

    Constructors

    Properties

    moveToFinishedKeys: string[]

    Methods

    • Parameters

      • jobId: string
      • logRow: string
      • Optional keepLogs: number

      Returns Promise<number>

    • Parameters

      Returns Promise<string>

    • Parameters

      • jobId: string
      • delay: number

      Returns Promise<void>

    • Parameters

      • jobId: string
      • priority: number = 0
      • lifo: boolean = false

      Returns Promise<void>

    • Remove jobs in a specific state.

      +

    Constructors

    Properties

    moveToFinishedKeys: string[]

    Methods

    • Parameters

      • jobId: string
      • logRow: string
      • Optional keepLogs: number

      Returns Promise<number>

    • Parameters

      Returns Promise<string>

    • Parameters

      • jobId: string
      • delay: number

      Returns Promise<void>

    • Parameters

      • jobId: string
      • priority: number = 0
      • lifo: boolean = false

      Returns Promise<void>

    • Remove jobs in a specific state.

      Parameters

      • set: string
      • timestamp: number
      • limit: number = 0

      Returns Promise<string[]>

      Id jobs from the deleted records.

      -
    • Parameters

      • client: ChainableCommander | RedisClient
      • commandName: string
      • args: any[]

      Returns any

    • Parameters

      • jobId: string
      • token: string
      • duration: number
      • Optional client: ChainableCommander | RedisClient

      Returns Promise<number>

    • Parameters

      • __namedParameters: {
            code: number;
            command: string;
            jobId?: string;
            parentKey?: string;
            state?: string;
        }
        • code: number
        • command: string
        • Optional jobId?: string
        • Optional parentKey?: string
        • Optional state?: string

      Returns Error

    • Parameters

      • priorities: number[]

      Returns Promise<number[]>

    • Parameters

      • types: JobType[]
      • start: number = 0
      • end: number = 1
      • asc: boolean = false

      Returns Promise<[string][]>

    • Parameters

      • Optional maxJobs: number

      Returns Promise<number>

    • Parameters

      • Optional maxJobs: number

      Returns (string | number)[]

    • Parameters

      • repeatConcatOptions: string
      • repeatJobKey: string

      Returns string

    • Parameters

      • jobId: string
      • returnValue: boolean = false

      Returns Promise<number | [number, string]>

    • Parameters

      • listKey: string
      • jobId: string

      Returns Promise<boolean>

    • Moves a job back from Active to Wait. +

    • Parameters

      • client: ChainableCommander | RedisClient
      • commandName: string
      • args: any[]

      Returns any

    • Parameters

      • jobId: string
      • token: string
      • duration: number
      • Optional client: ChainableCommander | RedisClient

      Returns Promise<number>

    • Parameters

      • __namedParameters: {
            code: number;
            command: string;
            jobId?: string;
            parentKey?: string;
            state?: string;
        }
        • code: number
        • command: string
        • Optional jobId?: string
        • Optional parentKey?: string
        • Optional state?: string

      Returns Error

    • Parameters

      • priorities: number[]

      Returns Promise<number[]>

    • Parameters

      • id: string

      Returns Promise<[any, string]>

    • Parameters

      • types: JobType[]
      • start: number = 0
      • end: number = 1
      • asc: boolean = false

      Returns Promise<[string][]>

    • Parameters

      • Optional maxJobs: number

      Returns Promise<number>

    • Parameters

      • Optional maxJobs: number

      Returns (string | number)[]

    • Parameters

      • repeatConcatOptions: string
      • repeatJobKey: string

      Returns string

    • Parameters

      • jobId: string
      • returnValue: boolean = false

      Returns Promise<number | [number, string]>

    • Parameters

      • listKey: string
      • jobId: string

      Returns Promise<boolean>

    • Moves a job back from Active to Wait. This script is used when a job has been manually rate limited and needs to be moved back to wait from active status.

      Parameters

      • jobId: string

        Job id

        -
      • token: string

      Returns Promise<any>

    • Looks for unlocked jobs in the active queue.

      +
    • token: string

    Returns Promise<any>

    • Looks for unlocked jobs in the active queue.

      The job was being worked on, but the worker process died and it failed to renew the lock. We call these jobs 'stalled'. This is the most common case. We resolve these by moving them back to wait to be re-processed. To prevent jobs from cycling endlessly between active and wait, (e.g. if the job handler keeps crashing), we limit the number stalled job recoveries to settings.maxStalledCount.

      -

      Returns Promise<[string[], string[]]>

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • job: MinimalJob<T, R, N>
      • returnvalue: R
      • removeOnComplete: number | boolean | KeepJobs
      • token: string
      • fetchNext: boolean = false

      Returns (string | number | boolean | Buffer)[]

    • Parameters

      • jobId: string
      • timestamp: number
      • delay: number
      • token: string = '0'
      • opts: MoveToDelayedOpts = {}

      Returns Promise<void>

    • Parameters

      Returns (string | number)[]

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • job: MinimalJob<T, R, N>
      • failedReason: string
      • removeOnFailed: number | boolean | KeepJobs
      • token: string
      • fetchNext: boolean = false

      Returns (string | number | boolean | Buffer)[]

    • Parameters

      • jobId: string
      • args: (string | number | boolean | Buffer)[]

      Returns Promise<any[]>

    • Move parent job to waiting-children state.

      +

      Returns Promise<[string[], string[]]>

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • job: MinimalJob<T, R, N>
      • returnvalue: R
      • removeOnComplete: number | boolean | KeepJobs
      • token: string
      • fetchNext: boolean = false

      Returns (string | number | boolean | Buffer)[]

    • Parameters

      • jobId: string
      • timestamp: number
      • delay: number
      • token: string = '0'
      • opts: MoveToDelayedOpts = {}

      Returns Promise<void>

    • Parameters

      Returns (string | number)[]

    • Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • job: MinimalJob<T, R, N>
      • failedReason: string
      • removeOnFailed: number | boolean | KeepJobs
      • token: string
      • fetchNext: boolean = false

      Returns (string | number | boolean | Buffer)[]

    • Parameters

      • jobId: string
      • args: (string | number | boolean | Buffer)[]

      Returns Promise<any[]>

    • Move parent job to waiting-children state.

      Parameters

      Returns Promise<boolean>

      true if job is successfully moved, false if there are pending dependencies.

      Throws

      JobNotExist This exception is thrown if jobId is missing.

      @@ -69,8 +71,8 @@

      Throws

      JobLockNotExist This exception is thrown if job lock is missing.

      Throws

      JobNotInState This exception is thrown if job is not in active state.

      -
    • Parameters

      • opts: {
            count: number;
            force: boolean;
        }
        • count: number
        • force: boolean

      Returns Promise<number>

    • Paginate a set or hash keys.

      -

      Parameters

      • key: string
      • opts: {
            end: number;
            fetchJobs?: boolean;
            start: number;
        }
        • end: number
        • Optional fetchJobs?: boolean
        • start: number

      Returns Promise<{
          cursor: string;
          items: {
              err?: string;
              id: string;
              v?: any;
          }[];
          jobs?: JobJsonRaw[];
          total: number;
      }>

    • Parameters

      • count: number = 1000

      Returns Promise<number>

    • Parameters

      • jobId: string
      • removeChildren: boolean

      Returns Promise<number>

    • Parameters

      • jobId: string
      • parentKey: string

      Returns Promise<boolean>

    • Parameters

      • jobSchedulerId: string

      Returns Promise<number>

    • Parameters

      • legacyRepeatJobId: string
      • repeatConcatOptions: string
      • repeatJobKey: string

      Returns Promise<number>

    • Parameters

      • opts: {
            count: number;
            force: boolean;
        }
        • count: number
        • force: boolean

      Returns Promise<number>

    • Paginate a set or hash keys.

      +

      Parameters

      • key: string
      • opts: {
            end: number;
            fetchJobs?: boolean;
            start: number;
        }
        • end: number
        • Optional fetchJobs?: boolean
        • start: number

      Returns Promise<{
          cursor: string;
          items: {
              err?: string;
              id: string;
              v?: any;
          }[];
          jobs?: JobJsonRaw[];
          total: number;
      }>

    • Parameters

      • count: number = 1000

      Returns Promise<number>

    • Parameters

      • jobId: string
      • removeChildren: boolean

      Returns Promise<number>

    • Parameters

      • jobId: string
      • parentKey: string

      Returns Promise<boolean>

    • Parameters

      • jobSchedulerId: string

      Returns Promise<number>

    • Parameters

      • legacyRepeatJobId: string
      • repeatConcatOptions: string
      • repeatJobKey: string

      Returns Promise<number>

    • Attempts to reprocess a job

      Type Parameters

      • T = any
      • R = any
      • N extends string = string

      Parameters

      • job: MinimalJob<T, R, N>
      • state: "failed" | "completed"

        The expected job state. If the job is not found on the provided state, then it's not reprocessed. Supported states: 'failed', 'completed'

      Returns Promise<void>

      Returns a promise that evaluates to a return code: @@ -78,4 +80,4 @@

      Throws

      JobNotInState 0 means the job does not exist -1 means the job is currently locked and can't be retried. -2 means the job was not found in the expected set

      -
    • Parameters

      • jobId: string
      • lifo: boolean
      • token: string

      Returns (string | number)[]

    • Parameters

      • state: FinishedStatus = 'failed'
      • count: number = 1000
      • timestamp: number = ...

      Returns Promise<number>

    • Parameters

      • jobId: string
      • stacktrace: string
      • failedReason: string

      Returns string[]

    • Parameters

      • client: RedisClient
      • jobSchedulerId: string
      • nextMillis: number

      Returns Promise<number>

    • Parameters

      • jobId: string
      • progress: number | object

      Returns Promise<void>

    • Parameters

      • client: RedisClient
      • customKey: string
      • nextMillis: number
      • legacyCustomKey: string

      Returns Promise<string>

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.UnrecoverableError.html b/classes/v5.UnrecoverableError.html index 434d417c4a..d2997ad0f8 100644 --- a/classes/v5.UnrecoverableError.html +++ b/classes/v5.UnrecoverableError.html @@ -1,5 +1,5 @@ UnrecoverableError | bullmq - v5.31.2

    Class UnrecoverableError

    UnrecoverableError

    Error to move a job to failed even if the attemptsMade are lower than the expected limit.

    -

    Hierarchy

    • Error
      • UnrecoverableError

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file +

    Hierarchy

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.WaitingChildrenError.html b/classes/v5.WaitingChildrenError.html index fbf83c1a8f..07deb1dbef 100644 --- a/classes/v5.WaitingChildrenError.html +++ b/classes/v5.WaitingChildrenError.html @@ -1,5 +1,5 @@ WaitingChildrenError | bullmq - v5.31.2

    Class WaitingChildrenError

    WaitingChildrenError

    Error to be thrown when job is moved to waiting-children state from job in active state.

    -

    Hierarchy

    • Error
      • WaitingChildrenError

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file +

    Hierarchy

    Constructors

    Constructors

    Generated using TypeDoc

    \ No newline at end of file diff --git a/classes/v5.Worker.html b/classes/v5.Worker.html index 8b8457b346..da780918a2 100644 --- a/classes/v5.Worker.html +++ b/classes/v5.Worker.html @@ -1,7 +1,7 @@ Worker | bullmq - v5.31.2

    Class Worker<DataType, ResultType, NameType>

    This class represents a worker that is able to process jobs from the queue. As soon as the class is instantiated and a connection to Redis is established it will start processing jobs.

    -

    Type Parameters

    • DataType = any
    • ResultType = any
    • NameType extends string = string

    Hierarchy (view full)

    Constructors

    Type Parameters

    • DataType = any
    • ResultType = any
    • NameType extends string = string

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    closing: Promise<void>
    id: string
    keys: KeysMap
    name: string

    The name of the queue.

    -

    Options for the queue.

    -
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      -

      Returns string

    Methods

    • Closes the worker and related redis connections.

      +

    Constructors

    Properties

    closing: Promise<void>
    id: string
    keys: KeysMap
    name: string

    The name of the queue.

    +

    Options for the queue.

    +
    qualifiedName: string
    toKey: ((type) => string)

    Type declaration

      • (type): string
      • Parameters

        • type: string

        Returns string

    Accessors

    • get redisVersion(): string
    • Returns the version of the Redis instance the client is connected to,

      +

      Returns string

    Methods

    • Closes the worker and related redis connections.

      This method waits for current jobs to finalize before returning.

      Parameters

      • force: boolean = false

        Use force boolean parameter if you do not want to wait for current jobs to be processed. When using telemetry, be mindful that it can interfere with the proper closure of spans, potentially preventing them from being exported.

      Returns Promise<void>

      Promise that resolves when the worker has been closed.

      -
    • This function is exposed only for testing purposes.

      -

      Parameters

      • Optional milliseconds: number
      • Optional abortController: AbortController

      Returns Promise<void>

    • This function is exposed only for testing purposes.

      +

      Parameters

      • Optional milliseconds: number
      • Optional abortController: AbortController

      Returns Promise<void>

    Returns boolean

    • Checks if worker is paused.

      Returns boolean

      true if worker is paused, false otherwise.

      -
    • Checks if worker is currently running.

      Returns boolean

      true if worker is running, false otherwise.

      -
    • Pauses the processing of this queue only for this worker.

      -

      Parameters

      • Optional doNotWaitActive: boolean

      Returns Promise<void>

    • Overrides the rate limit to be active for the next jobs.

      +
    • Pauses the processing of this queue only for this worker.

      +

      Parameters

      • Optional doNotWaitActive: boolean

      Returns Promise<void>

    • Overrides the rate limit to be active for the next jobs.

      Parameters

      • expireTimeMs: number

        expire time in ms of this rate limit.

      Returns Promise<void>

      Deprecated

      This method is deprecated and will be removed in v6. Use queue.rateLimit method instead.

      -
    • Resumes processing of this worker (if paused).

      -

      Returns void

    • Manually starts the stalled checker. +

    • Resumes processing of this worker (if paused).

      +

      Returns void

    • Manually starts the stalled checker. The check will run once as soon as this method is called, and then every opts.stalledInterval milliseconds until the worker is closed. Note: Normally you do not need to call this method, since the stalled checker @@ -68,11 +68,11 @@ calling run. However if you want to process the jobs manually you need to call this method to start the stalled checker.

      Returns Promise<void>

    • Wraps the code with telemetry and provides a span for configuration.

      +
    • Wraps the code with telemetry and provides a span for configuration.

      Type Parameters

      • T

      Parameters

      • spanKind: SpanKind

        kind of the span: Producer, Consumer, Internal

      • operation: string

        operation name (such as add, process, etc)

      • destination: string

        destination name (normally the queue name)

      • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

        code to wrap with telemetry

        -
          • (span?, dstPropagationMetadata?): T | Promise<T>
          • Parameters

            • Optional span: Span<any>
            • Optional dstPropagationMetadata: string

            Returns T | Promise<T>

      • Optional srcPropagationMetadata: string

      Returns Promise<T | Promise<T>>

    • Waits until the worker is ready to start processing jobs. +

        • (span?, dstPropagationMetadata?): T | Promise<T>
        • Parameters

          • Optional span: Span<any>
          • Optional dstPropagationMetadata: string

          Returns T | Promise<T>

    • Optional srcPropagationMetadata: string

    Returns Promise<T | Promise<T>>

    Generated using TypeDoc

    \ No newline at end of file +

    Returns Promise<RedisClient>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.ChildCommand.html b/enums/v5.ChildCommand.html index ed177b76a2..058462d72a 100644 --- a/enums/v5.ChildCommand.html +++ b/enums/v5.ChildCommand.html @@ -1,4 +1,4 @@ -ChildCommand | bullmq - v5.31.2

    Enumeration ChildCommand

    Enumeration Members

    Init +ChildCommand | bullmq - v5.31.2

    Enumeration ChildCommand

    Enumeration Members

    Enumeration Members

    Init: 0
    Start: 1
    Stop: 2

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    Init: 0
    Start: 1
    Stop: 2

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.ClientType.html b/enums/v5.ClientType.html index 3440152573..c9baa28c02 100644 --- a/enums/v5.ClientType.html +++ b/enums/v5.ClientType.html @@ -1,3 +1,3 @@ -ClientType | bullmq - v5.31.2

    Enumeration ClientType

    Enumeration Members

    blocking +ClientType | bullmq - v5.31.2

    Enumeration ClientType

    Enumeration Members

    Enumeration Members

    blocking: "blocking"
    normal: "normal"

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    blocking: "blocking"
    normal: "normal"

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.ErrorCode.html b/enums/v5.ErrorCode.html index e83d5097b9..d0f183163b 100644 --- a/enums/v5.ErrorCode.html +++ b/enums/v5.ErrorCode.html @@ -1,4 +1,4 @@ -ErrorCode | bullmq - v5.31.2

    Enumeration ErrorCode

    Enumeration Members

    JobBelongsToJobScheduler +ErrorCode | bullmq - v5.31.2

    Enumeration ErrorCode

    Enumeration Members

    JobBelongsToJobScheduler: -8
    JobLockMismatch: -6
    JobLockNotExist: -2
    JobNotExist: -1
    JobNotInState: -3
    JobPendingDependencies: -4
    ParentJobCannotBeReplaced: -7
    ParentJobNotExist: -5

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    JobBelongsToJobScheduler: -8
    JobLockMismatch: -6
    JobLockNotExist: -2
    JobNotExist: -1
    JobNotInState: -3
    JobPendingDependencies: -4
    ParentJobCannotBeReplaced: -7
    ParentJobNotExist: -5

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.MetricsTime.html b/enums/v5.MetricsTime.html index 719dcff203..7ba431ae54 100644 --- a/enums/v5.MetricsTime.html +++ b/enums/v5.MetricsTime.html @@ -1,4 +1,4 @@ -MetricsTime | bullmq - v5.31.2

    Enumeration MetricsTime

    Enumeration Members

    FIFTEEN_MINUTES +MetricsTime | bullmq - v5.31.2

    Enumeration MetricsTime

    Enumeration Members

    FIFTEEN_MINUTES: 15
    FIVE_MINUTES: 5
    ONE_HOUR: 60
    ONE_MINUTE: 1
    ONE_MONTH: 80640
    ONE_WEEK: 10080
    THIRTY_MINUTES: 30
    TWO_WEEKS: 20160

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    FIFTEEN_MINUTES: 15
    FIVE_MINUTES: 5
    ONE_HOUR: 60
    ONE_MINUTE: 1
    ONE_MONTH: 80640
    ONE_WEEK: 10080
    THIRTY_MINUTES: 30
    TWO_WEEKS: 20160

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.ParentCommand.html b/enums/v5.ParentCommand.html index 88cbc99acd..1b9e7b9e71 100644 --- a/enums/v5.ParentCommand.html +++ b/enums/v5.ParentCommand.html @@ -1,4 +1,4 @@ -ParentCommand | bullmq - v5.31.2

    Enumeration ParentCommand

    Enumeration Members

    Completed +ParentCommand | bullmq - v5.31.2

    Enumeration ParentCommand

    Enumeration Members

    Enumeration Members

    Completed: 0
    Error: 1
    Failed: 2
    InitCompleted: 4
    InitFailed: 3
    Log: 5
    MoveToDelayed: 6
    Progress: 7
    Update: 8

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    Completed: 0
    Error: 1
    Failed: 2
    InitCompleted: 4
    InitFailed: 3
    Log: 5
    MoveToDelayed: 6
    Progress: 7
    Update: 8

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.SpanKind.html b/enums/v5.SpanKind.html index 456a2d495d..5d0a0c831a 100644 --- a/enums/v5.SpanKind.html +++ b/enums/v5.SpanKind.html @@ -1,6 +1,6 @@ -SpanKind | bullmq - v5.31.2

    Enumeration SpanKind

    Enumeration Members

    CLIENT +SpanKind | bullmq - v5.31.2

    Enumeration SpanKind

    Enumeration Members

    Enumeration Members

    CLIENT: 2
    CONSUMER: 4
    INTERNAL: 0
    PRODUCER: 3
    SERVER: 1

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    CLIENT: 2
    CONSUMER: 4
    INTERNAL: 0
    PRODUCER: 3
    SERVER: 1

    Generated using TypeDoc

    \ No newline at end of file diff --git a/enums/v5.TelemetryAttributes.html b/enums/v5.TelemetryAttributes.html index 20624e2be1..1b25b97463 100644 --- a/enums/v5.TelemetryAttributes.html +++ b/enums/v5.TelemetryAttributes.html @@ -1,4 +1,4 @@ -TelemetryAttributes | bullmq - v5.31.2

    Enumeration TelemetryAttributes

    Enumeration Members

    BulkCount +TelemetryAttributes | bullmq - v5.31.2

    Enumeration TelemetryAttributes

    Enumeration Members

    BulkCount: "bullmq.job.bulk.count"
    BulkNames: "bullmq.job.bulk.names"
    DeduplicationKey: "bullmq.job.deduplication.key"
    FlowName: "bullmq.flow.name"
    JobFailedReason: "bullmq.job.failed.reason"
    JobFinishedTimestamp: "bullmq.job.finished.timestamp"
    JobId: "bullmq.job.id"
    JobIds: "bullmq.job.ids"
    JobKey: "bullmq.job.key"
    JobName: "bullmq.job.name"
    JobOptions: "bullmq.job.options"
    JobProcessedTimestamp: "bullmq.job.processed.timestamp"
    JobProgress: "bullmq.job.progress"
    JobResult: "bullmq.job.result"
    JobSchedulerId: "bullmq.job.scheduler.id"
    JobType: "bullmq.job.type"
    QueueCleanLimit: "bullmq.queue.clean.limit"
    QueueDrainDelay: "bullmq.queue.drain.delay"
    QueueEventMaxLength: "bullmq.queue.event.max.length"
    QueueGrace: "bullmq.queue.grace"
    QueueName: "bullmq.queue.name"
    QueueOperation: "bullmq.queue.operation"
    QueueOptions: "bullmq.queue.options"
    QueueRateLimit: "bullmq.queue.rate.limit"
    WorkerDoNotWaitActive: "bullmq.worker.do.not.wait.active"
    WorkerFailedJobs: "bullmq.worker.failed.jobs"
    WorkerForceClose: "bullmq.worker.force.close"
    WorkerId: "bullmq.worker.id"
    WorkerJobsToExtendLocks: "bullmq.worker.jobs.to.extend.locks"
    WorkerName: "bullmq.worker.name"
    WorkerOptions: "bullmq.worker.options"
    WorkerRateLimit: "bullmq.worker.rate.limit"
    WorkerStalledJobs: "bullmq.worker.stalled.jobs"

    Generated using TypeDoc

    \ No newline at end of file +

    Enumeration Members

    BulkCount: "bullmq.job.bulk.count"
    BulkNames: "bullmq.job.bulk.names"
    DeduplicationKey: "bullmq.job.deduplication.key"
    FlowName: "bullmq.flow.name"
    JobFailedReason: "bullmq.job.failed.reason"
    JobFinishedTimestamp: "bullmq.job.finished.timestamp"
    JobId: "bullmq.job.id"
    JobIds: "bullmq.job.ids"
    JobKey: "bullmq.job.key"
    JobName: "bullmq.job.name"
    JobOptions: "bullmq.job.options"
    JobProcessedTimestamp: "bullmq.job.processed.timestamp"
    JobProgress: "bullmq.job.progress"
    JobResult: "bullmq.job.result"
    JobSchedulerId: "bullmq.job.scheduler.id"
    JobType: "bullmq.job.type"
    QueueCleanLimit: "bullmq.queue.clean.limit"
    QueueDrainDelay: "bullmq.queue.drain.delay"
    QueueEventMaxLength: "bullmq.queue.event.max.length"
    QueueGrace: "bullmq.queue.grace"
    QueueName: "bullmq.queue.name"
    QueueOperation: "bullmq.queue.operation"
    QueueOptions: "bullmq.queue.options"
    QueueRateLimit: "bullmq.queue.rate.limit"
    WorkerDoNotWaitActive: "bullmq.worker.do.not.wait.active"
    WorkerFailedJobs: "bullmq.worker.failed.jobs"
    WorkerForceClose: "bullmq.worker.force.close"
    WorkerId: "bullmq.worker.id"
    WorkerJobsToExtendLocks: "bullmq.worker.jobs.to.extend.locks"
    WorkerName: "bullmq.worker.name"
    WorkerOptions: "bullmq.worker.options"
    WorkerRateLimit: "bullmq.worker.rate.limit"
    WorkerStalledJobs: "bullmq.worker.stalled.jobs"

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.array2obj.html b/functions/v5.array2obj.html index 5143a5ac2e..4ea4620122 100644 --- a/functions/v5.array2obj.html +++ b/functions/v5.array2obj.html @@ -1 +1 @@ -array2obj | bullmq - v5.31.2

    Function array2obj

    • Parameters

      • arr: string[]

      Returns Record<string, string>

    Generated using TypeDoc

    \ No newline at end of file +array2obj | bullmq - v5.31.2

    Function array2obj

    • Parameters

      • arr: string[]

      Returns Record<string, string>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.asyncSend.html b/functions/v5.asyncSend.html index 8deb4237fb..910f885c84 100644 --- a/functions/v5.asyncSend.html +++ b/functions/v5.asyncSend.html @@ -1 +1 @@ -asyncSend | bullmq - v5.31.2

    Function asyncSend

    • Type Parameters

      • T extends procSendLike

      Parameters

      • proc: T
      • msg: any

      Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file +asyncSend | bullmq - v5.31.2

    Function asyncSend

    • Type Parameters

      • T extends procSendLike

      Parameters

      • proc: T
      • msg: any

      Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.childSend.html b/functions/v5.childSend.html index 2314c66752..3d916615ac 100644 --- a/functions/v5.childSend.html +++ b/functions/v5.childSend.html @@ -1 +1 @@ -childSend | bullmq - v5.31.2

    Function childSend

    Generated using TypeDoc

    \ No newline at end of file +childSend | bullmq - v5.31.2

    Function childSend

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.decreaseMaxListeners.html b/functions/v5.decreaseMaxListeners.html index faf15332bf..6f48bd7086 100644 --- a/functions/v5.decreaseMaxListeners.html +++ b/functions/v5.decreaseMaxListeners.html @@ -1 +1 @@ -decreaseMaxListeners | bullmq - v5.31.2

    Function decreaseMaxListeners

    • Parameters

      • emitter: EventEmitter
      • count: number

      Returns void

    Generated using TypeDoc

    \ No newline at end of file +decreaseMaxListeners | bullmq - v5.31.2

    Function decreaseMaxListeners

    • Parameters

      • emitter: EventEmitter
      • count: number

      Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.defaultRepeatStrategy.html b/functions/v5.defaultRepeatStrategy.html index b16582f756..f83ca6db76 100644 --- a/functions/v5.defaultRepeatStrategy.html +++ b/functions/v5.defaultRepeatStrategy.html @@ -1 +1 @@ -defaultRepeatStrategy | bullmq - v5.31.2

    Function defaultRepeatStrategy

    Generated using TypeDoc

    \ No newline at end of file +defaultRepeatStrategy | bullmq - v5.31.2

    Function defaultRepeatStrategy

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.delay.html b/functions/v5.delay.html index 55f9c73764..58ae6f1ff2 100644 --- a/functions/v5.delay.html +++ b/functions/v5.delay.html @@ -1 +1 @@ -delay | bullmq - v5.31.2

    Function delay

    • Parameters

      • ms: number
      • Optional abortController: AbortController

      Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file +delay | bullmq - v5.31.2

    Function delay

    • Parameters

      • ms: number
      • Optional abortController: AbortController

      Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.errorToJSON.html b/functions/v5.errorToJSON.html index 1d670a8886..beaca6ee2c 100644 --- a/functions/v5.errorToJSON.html +++ b/functions/v5.errorToJSON.html @@ -1 +1 @@ -errorToJSON | bullmq - v5.31.2

    Function errorToJSON

    • Parameters

      • value: any

      Returns Record<string, any>

    Generated using TypeDoc

    \ No newline at end of file +errorToJSON | bullmq - v5.31.2

    Function errorToJSON

    • Parameters

      • value: any

      Returns Record<string, any>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.getNextMillis.html b/functions/v5.getNextMillis.html index 2a52e448ce..06ee80e36a 100644 --- a/functions/v5.getNextMillis.html +++ b/functions/v5.getNextMillis.html @@ -1 +1 @@ -getNextMillis | bullmq - v5.31.2

    Function getNextMillis

    Generated using TypeDoc

    \ No newline at end of file +getNextMillis | bullmq - v5.31.2

    Function getNextMillis

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.getParentKey.html b/functions/v5.getParentKey.html index f9aff18e70..ad1a84f03f 100644 --- a/functions/v5.getParentKey.html +++ b/functions/v5.getParentKey.html @@ -1 +1 @@ -getParentKey | bullmq - v5.31.2

    Function getParentKey

    • Parameters

      • opts: {
            id: string;
            queue: string;
        }
        • id: string
        • queue: string

      Returns string | undefined

    Generated using TypeDoc

    \ No newline at end of file +getParentKey | bullmq - v5.31.2

    Function getParentKey

    • Parameters

      • opts: {
            id: string;
            queue: string;
        }
        • id: string
        • queue: string

      Returns string | undefined

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.increaseMaxListeners.html b/functions/v5.increaseMaxListeners.html index 5dc179c8b5..3aab9eafc9 100644 --- a/functions/v5.increaseMaxListeners.html +++ b/functions/v5.increaseMaxListeners.html @@ -1 +1 @@ -increaseMaxListeners | bullmq - v5.31.2

    Function increaseMaxListeners

    • Parameters

      • emitter: EventEmitter
      • count: number

      Returns void

    Generated using TypeDoc

    \ No newline at end of file +increaseMaxListeners | bullmq - v5.31.2

    Function increaseMaxListeners

    • Parameters

      • emitter: EventEmitter
      • count: number

      Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.invertObject.html b/functions/v5.invertObject.html index 72cbb4c58f..c7ad626b45 100644 --- a/functions/v5.invertObject.html +++ b/functions/v5.invertObject.html @@ -1 +1 @@ -invertObject | bullmq - v5.31.2

    Function invertObject

    • Parameters

      • obj: Record<string, string>

      Returns Record<string, string>

    Generated using TypeDoc

    \ No newline at end of file +invertObject | bullmq - v5.31.2

    Function invertObject

    • Parameters

      • obj: Record<string, string>

      Returns Record<string, string>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.isEmpty.html b/functions/v5.isEmpty.html index ba94dfdf8c..4f8e5429a4 100644 --- a/functions/v5.isEmpty.html +++ b/functions/v5.isEmpty.html @@ -1 +1 @@ -isEmpty | bullmq - v5.31.2

    Function isEmpty

    • Parameters

      • obj: object

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file +isEmpty | bullmq - v5.31.2

    Function isEmpty

    • Parameters

      • obj: object

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.isNotConnectionError.html b/functions/v5.isNotConnectionError.html index 05ab52ff97..01d8a74cae 100644 --- a/functions/v5.isNotConnectionError.html +++ b/functions/v5.isNotConnectionError.html @@ -1 +1 @@ -isNotConnectionError | bullmq - v5.31.2

    Function isNotConnectionError

    • Parameters

      • error: Error

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file +isNotConnectionError | bullmq - v5.31.2

    Function isNotConnectionError

    • Parameters

      • error: Error

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.isRedisCluster.html b/functions/v5.isRedisCluster.html index 5702a53819..63e1707fe4 100644 --- a/functions/v5.isRedisCluster.html +++ b/functions/v5.isRedisCluster.html @@ -1 +1 @@ -isRedisCluster | bullmq - v5.31.2

    Function isRedisCluster

    • Parameters

      • obj: unknown

      Returns obj is Cluster

    Generated using TypeDoc

    \ No newline at end of file +isRedisCluster | bullmq - v5.31.2

    Function isRedisCluster

    • Parameters

      • obj: unknown

      Returns obj is Cluster

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.isRedisInstance.html b/functions/v5.isRedisInstance.html index a66a7a2a17..ad84ba414a 100644 --- a/functions/v5.isRedisInstance.html +++ b/functions/v5.isRedisInstance.html @@ -1 +1 @@ -isRedisInstance | bullmq - v5.31.2

    Function isRedisInstance

    • Parameters

      • obj: any

      Returns obj is Cluster | Redis

    Generated using TypeDoc

    \ No newline at end of file +isRedisInstance | bullmq - v5.31.2

    Function isRedisInstance

    • Parameters

      • obj: any

      Returns obj is Cluster | Redis

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.isRedisVersionLowerThan.html b/functions/v5.isRedisVersionLowerThan.html index d2ec83942e..d254113a51 100644 --- a/functions/v5.isRedisVersionLowerThan.html +++ b/functions/v5.isRedisVersionLowerThan.html @@ -1 +1 @@ -isRedisVersionLowerThan | bullmq - v5.31.2

    Function isRedisVersionLowerThan

    • Parameters

      • currentVersion: string
      • minimumVersion: string

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file +isRedisVersionLowerThan | bullmq - v5.31.2

    Function isRedisVersionLowerThan

    • Parameters

      • currentVersion: string
      • minimumVersion: string

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.lengthInUtf8Bytes.html b/functions/v5.lengthInUtf8Bytes.html index 5d9023597c..bccad20abb 100644 --- a/functions/v5.lengthInUtf8Bytes.html +++ b/functions/v5.lengthInUtf8Bytes.html @@ -1,3 +1,3 @@ lengthInUtf8Bytes | bullmq - v5.31.2

    Function lengthInUtf8Bytes

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.optsAsJSON.html b/functions/v5.optsAsJSON.html index 8e1a6f7029..aa840e6808 100644 --- a/functions/v5.optsAsJSON.html +++ b/functions/v5.optsAsJSON.html @@ -1 +1 @@ -optsAsJSON | bullmq - v5.31.2

    Function optsAsJSON

    Generated using TypeDoc

    \ No newline at end of file +optsAsJSON | bullmq - v5.31.2

    Function optsAsJSON

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.optsFromJSON.html b/functions/v5.optsFromJSON.html index c8fe2a7a7e..ce17d2f8db 100644 --- a/functions/v5.optsFromJSON.html +++ b/functions/v5.optsFromJSON.html @@ -1 +1 @@ -optsFromJSON | bullmq - v5.31.2

    Function optsFromJSON

    Generated using TypeDoc

    \ No newline at end of file +optsFromJSON | bullmq - v5.31.2

    Function optsFromJSON

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.parseObjectValues.html b/functions/v5.parseObjectValues.html index 1d533cccc0..5cc96715ed 100644 --- a/functions/v5.parseObjectValues.html +++ b/functions/v5.parseObjectValues.html @@ -1 +1 @@ -parseObjectValues | bullmq - v5.31.2

    Function parseObjectValues

    • Parameters

      • obj: {
            [key: string]: string;
        }
        • [key: string]: string

      Returns Record<string, any>

    Generated using TypeDoc

    \ No newline at end of file +parseObjectValues | bullmq - v5.31.2

    Function parseObjectValues

    • Parameters

      • obj: {
            [key: string]: string;
        }
        • [key: string]: string

      Returns Record<string, any>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.raw2NextJobData.html b/functions/v5.raw2NextJobData.html index f525f8dc05..07d299eb92 100644 --- a/functions/v5.raw2NextJobData.html +++ b/functions/v5.raw2NextJobData.html @@ -1 +1 @@ -raw2NextJobData | bullmq - v5.31.2

    Function raw2NextJobData

    Generated using TypeDoc

    \ No newline at end of file +raw2NextJobData | bullmq - v5.31.2

    Function raw2NextJobData

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.removeAllQueueData.html b/functions/v5.removeAllQueueData.html index 6481bd7918..f82829bce7 100644 --- a/functions/v5.removeAllQueueData.html +++ b/functions/v5.removeAllQueueData.html @@ -1 +1 @@ -removeAllQueueData | bullmq - v5.31.2

    Function removeAllQueueData

    • Parameters

      • client: RedisClient
      • queueName: string
      • prefix: string = ...

      Returns Promise<void | boolean>

    Generated using TypeDoc

    \ No newline at end of file +removeAllQueueData | bullmq - v5.31.2

    Function removeAllQueueData

    • Parameters

      • client: RedisClient
      • queueName: string
      • prefix: string = ...

      Returns Promise<void | boolean>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.removeUndefinedFields.html b/functions/v5.removeUndefinedFields.html index e9c0ea2aa9..a48dc8e74d 100644 --- a/functions/v5.removeUndefinedFields.html +++ b/functions/v5.removeUndefinedFields.html @@ -1 +1 @@ -removeUndefinedFields | bullmq - v5.31.2

    Function removeUndefinedFields

    • Type Parameters

      • T extends Record<string, any>

      Parameters

      • obj: Record<string, any>

      Returns T

    Generated using TypeDoc

    \ No newline at end of file +removeUndefinedFields | bullmq - v5.31.2

    Function removeUndefinedFields

    • Type Parameters

      • T extends Record<string, any>

      Parameters

      • obj: Record<string, any>

      Returns T

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.toString.html b/functions/v5.toString.html index 5ef6dac264..ebada8cac5 100644 --- a/functions/v5.toString.html +++ b/functions/v5.toString.html @@ -1 +1 @@ -toString | bullmq - v5.31.2

    Function toString

    • Parameters

      • value: any

      Returns string

    Generated using TypeDoc

    \ No newline at end of file +toString | bullmq - v5.31.2

    Function toString

    • Parameters

      • value: any

      Returns string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.trace.html b/functions/v5.trace.html index e4aa709cc5..2d4c1e9355 100644 --- a/functions/v5.trace.html +++ b/functions/v5.trace.html @@ -5,4 +5,4 @@
  • operation: string

    operation name (such as add, process, etc)

  • destination: string

    destination name (normally the queue name)

  • callback: ((span?, dstPropagationMetadata?) => T | Promise<T>)

    code to wrap with telemetry

    -
  • Optional srcPropagationMetadata: string
  • Returns Promise<T>

    Generated using TypeDoc

    \ No newline at end of file +
  • Optional srcPropagationMetadata: string
  • Returns Promise<T>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/v5.tryCatch.html b/functions/v5.tryCatch.html index 366b1b0f66..62e5fd962a 100644 --- a/functions/v5.tryCatch.html +++ b/functions/v5.tryCatch.html @@ -1 +1 @@ -tryCatch | bullmq - v5.31.2

    Function tryCatch

    • Parameters

      • fn: ((...args) => any)
          • (...args): any
          • Parameters

            • Rest ...args: any

            Returns any

      • ctx: any
      • args: any[]

      Returns any

    Generated using TypeDoc

    \ No newline at end of file +tryCatch | bullmq - v5.31.2

    Function tryCatch

    • Parameters

      • fn: ((...args) => any)
          • (...args): any
          • Parameters

            • Rest ...args: any

            Returns any

      • ctx: any
      • args: any[]

      Returns any

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.AddChildrenOpts.html b/interfaces/v5.AddChildrenOpts.html index 2cbc6d1c82..d7fba80368 100644 --- a/interfaces/v5.AddChildrenOpts.html +++ b/interfaces/v5.AddChildrenOpts.html @@ -1,5 +1,5 @@ -AddChildrenOpts | bullmq - v5.31.2

    Interface AddChildrenOpts

    interface AddChildrenOpts {
        multi: ChainableCommander;
        nodes: FlowJob[];
        parent: {
            parentDependenciesKey: string;
            parentOpts: {
                id: string;
                queue: string;
            };
        };
        queuesOpts?: FlowQueuesOpts;
    }

    Properties

    multi +AddChildrenOpts | bullmq - v5.31.2

    Interface AddChildrenOpts

    interface AddChildrenOpts {
        multi: ChainableCommander;
        nodes: FlowJob[];
        parent: {
            parentDependenciesKey: string;
            parentOpts: {
                id: string;
                queue: string;
            };
        };
        queuesOpts?: FlowQueuesOpts;
    }

    Properties

    multi: ChainableCommander
    nodes: FlowJob[]
    parent: {
        parentDependenciesKey: string;
        parentOpts: {
            id: string;
            queue: string;
        };
    }

    Type declaration

    • parentDependenciesKey: string
    • parentOpts: {
          id: string;
          queue: string;
      }
      • id: string
      • queue: string
    queuesOpts?: FlowQueuesOpts

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    multi: ChainableCommander
    nodes: FlowJob[]
    parent: {
        parentDependenciesKey: string;
        parentOpts: {
            id: string;
            queue: string;
        };
    }

    Type declaration

    • parentDependenciesKey: string
    • parentOpts: {
          id: string;
          queue: string;
      }
      • id: string
      • queue: string
    queuesOpts?: FlowQueuesOpts

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.AddNodeOpts.html b/interfaces/v5.AddNodeOpts.html index 80d6a79f4f..c584fd5d59 100644 --- a/interfaces/v5.AddNodeOpts.html +++ b/interfaces/v5.AddNodeOpts.html @@ -1,6 +1,6 @@ -AddNodeOpts | bullmq - v5.31.2

    Interface AddNodeOpts

    interface AddNodeOpts {
        multi: ChainableCommander;
        node: FlowJob;
        parent?: {
            parentDependenciesKey: string;
            parentOpts: {
                id: string;
                queue: string;
            };
        };
        queuesOpts?: FlowQueuesOpts;
    }

    Properties

    multi +AddNodeOpts | bullmq - v5.31.2

    Interface AddNodeOpts

    interface AddNodeOpts {
        multi: ChainableCommander;
        node: FlowJob;
        parent?: {
            parentDependenciesKey: string;
            parentOpts: {
                id: string;
                queue: string;
            };
        };
        queuesOpts?: FlowQueuesOpts;
    }

    Properties

    multi: ChainableCommander
    node: FlowJob
    parent?: {
        parentDependenciesKey: string;
        parentOpts: {
            id: string;
            queue: string;
        };
    }

    Type declaration

    • parentDependenciesKey: string
    • parentOpts: {
          id: string;
          queue: string;
      }
      • id: string
      • queue: string
    queuesOpts?: FlowQueuesOpts

    Queues options that will be applied in each node depending on queue name presence.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    multi: ChainableCommander
    node: FlowJob
    parent?: {
        parentDependenciesKey: string;
        parentOpts: {
            id: string;
            queue: string;
        };
    }

    Type declaration

    • parentDependenciesKey: string
    • parentOpts: {
          id: string;
          queue: string;
      }
      • id: string
      • queue: string
    queuesOpts?: FlowQueuesOpts

    Queues options that will be applied in each node depending on queue name presence.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.AdvancedOptions.html b/interfaces/v5.AdvancedOptions.html index a58b8af542..93e7a602fc 100644 --- a/interfaces/v5.AdvancedOptions.html +++ b/interfaces/v5.AdvancedOptions.html @@ -1,8 +1,8 @@ -AdvancedOptions | bullmq - v5.31.2

    Interface AdvancedOptions

    interface AdvancedOptions {
        backoffStrategy?: BackoffStrategy;
        repeatKeyHashAlgorithm?: string;
        repeatStrategy?: RepeatStrategy;
    }

    Hierarchy (view full)

    Properties

    backoffStrategy? +AdvancedOptions | bullmq - v5.31.2

    Interface AdvancedOptions

    interface AdvancedOptions {
        backoffStrategy?: BackoffStrategy;
        repeatKeyHashAlgorithm?: string;
        repeatStrategy?: RepeatStrategy;
    }

    Hierarchy (view full)

    Properties

    backoffStrategy?: BackoffStrategy

    A custom backoff strategy.

    -
    repeatKeyHashAlgorithm?: string

    A hash algorithm to be used when trying to create the job redis key. +

    repeatKeyHashAlgorithm?: string

    A hash algorithm to be used when trying to create the job redis key. Default - md5

    -
    repeatStrategy?: RepeatStrategy

    A custom cron strategy.

    -

    Generated using TypeDoc

    \ No newline at end of file +
    repeatStrategy?: RepeatStrategy

    A custom cron strategy.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.AdvancedRepeatOptions.html b/interfaces/v5.AdvancedRepeatOptions.html index db2c66c91e..a501468a23 100644 --- a/interfaces/v5.AdvancedRepeatOptions.html +++ b/interfaces/v5.AdvancedRepeatOptions.html @@ -1,6 +1,6 @@ -AdvancedRepeatOptions | bullmq - v5.31.2

    Interface AdvancedRepeatOptions

    interface AdvancedRepeatOptions {
        repeatKeyHashAlgorithm?: string;
        repeatStrategy?: RepeatStrategy;
    }

    Hierarchy (view full)

    Properties

    repeatKeyHashAlgorithm? +AdvancedRepeatOptions | bullmq - v5.31.2

    Interface AdvancedRepeatOptions

    interface AdvancedRepeatOptions {
        repeatKeyHashAlgorithm?: string;
        repeatStrategy?: RepeatStrategy;
    }

    Hierarchy (view full)

    Properties

    repeatKeyHashAlgorithm?: string

    A hash algorithm to be used when trying to create the job redis key. Default - md5

    -
    repeatStrategy?: RepeatStrategy

    A custom cron strategy.

    -

    Generated using TypeDoc

    \ No newline at end of file +
    repeatStrategy?: RepeatStrategy

    A custom cron strategy.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.Attributes.html b/interfaces/v5.Attributes.html index cd2c815cb3..53af386eb4 100644 --- a/interfaces/v5.Attributes.html +++ b/interfaces/v5.Attributes.html @@ -1 +1 @@ -Attributes | bullmq - v5.31.2

    Interface Attributes

    interface Attributes {
        [attribute: string]: AttributeValue | undefined;
    }

    Indexable

    [attribute: string]: AttributeValue | undefined

    Generated using TypeDoc

    \ No newline at end of file +Attributes | bullmq - v5.31.2

    Interface Attributes

    interface Attributes {
        [attribute: string]: AttributeValue | undefined;
    }

    Indexable

    [attribute: string]: AttributeValue | undefined

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.BackoffOptions.html b/interfaces/v5.BackoffOptions.html index d77aa6f20d..1060e64f60 100644 --- a/interfaces/v5.BackoffOptions.html +++ b/interfaces/v5.BackoffOptions.html @@ -1,7 +1,7 @@ BackoffOptions | bullmq - v5.31.2

    Interface BackoffOptions

    Settings for backing off failed jobs.

    interface BackoffOptions {
        delay?: number;
        type: "fixed" | "exponential" | string & {};
    }

    Properties

    interface BackoffOptions {
        delay?: number;
        type: "fixed" | "exponential" | string & {};
    }

    Properties

    Properties

    delay?: number

    Delay in milliseconds.

    -
    type: "fixed" | "exponential" | string & {}

    Name of the backoff strategy.

    -

    Generated using TypeDoc

    \ No newline at end of file +
    type: "fixed" | "exponential" | string & {}

    Name of the backoff strategy.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.BaseJobOptions.html b/interfaces/v5.BaseJobOptions.html index cfb1a0c3d9..6db697191a 100644 --- a/interfaces/v5.BaseJobOptions.html +++ b/interfaces/v5.BaseJobOptions.html @@ -1,4 +1,4 @@ -BaseJobOptions | bullmq - v5.31.2

    Interface BaseJobOptions

    interface BaseJobOptions {
        attempts?: number;
        backoff?: number | BackoffOptions;
        delay?: number;
        jobId?: string;
        keepLogs?: number;
        lifo?: boolean;
        parent?: {
            id: string;
            queue: string;
        };
        prevMillis?: number;
        priority?: number;
        removeOnComplete?: number | boolean | KeepJobs;
        removeOnFail?: number | boolean | KeepJobs;
        repeat?: RepeatOptions;
        repeatJobKey?: string;
        sizeLimit?: number;
        stackTraceLimit?: number;
        telemetryMetadata?: string;
        timestamp?: number;
    }

    Hierarchy (view full)

    Properties

    attempts? +BaseJobOptions | bullmq - v5.31.2

    Interface BaseJobOptions

    interface BaseJobOptions {
        attempts?: number;
        backoff?: number | BackoffOptions;
        delay?: number;
        jobId?: string;
        keepLogs?: number;
        lifo?: boolean;
        parent?: {
            id: string;
            queue: string;
        };
        prevMillis?: number;
        priority?: number;
        removeOnComplete?: number | boolean | KeepJobs;
        removeOnFail?: number | boolean | KeepJobs;
        repeat?: RepeatOptions;
        repeatJobKey?: string;
        sizeLimit?: number;
        stackTraceLimit?: number;
        telemetryMetadata?: string;
        timestamp?: number;
    }

    Hierarchy (view full)

    Properties

    attempts? backoff? delay? jobId? @@ -18,44 +18,44 @@

    Properties

    attempts?: number

    The total number of attempts to try the job until it completes.

    Default Value

    0
     
    -
    backoff?: number | BackoffOptions

    Backoff setting for automatic retries if the job fails

    -
    delay?: number

    An amount of milliseconds to wait until this job can be processed. +

    backoff?: number | BackoffOptions

    Backoff setting for automatic retries if the job fails

    +
    delay?: number

    An amount of milliseconds to wait until this job can be processed. Note that for accurate delays, worker and producers should have their clocks synchronized.

    Default Value

    0
     
    -
    jobId?: string

    Override the job ID - by default, the job ID is a unique +

    jobId?: string

    Override the job ID - by default, the job ID is a unique integer, but you can use this setting to override it. If you use this option, it is up to you to ensure the jobId is unique. If you attempt to add a job with an id that already exists, it will not be added.

    -
    keepLogs?: number

    Maximum amount of log entries that will be preserved

    -
    lifo?: boolean

    If true, adds the job to the right of the queue instead of the left (default false)

    +
    keepLogs?: number

    Maximum amount of log entries that will be preserved

    +
    lifo?: boolean

    If true, adds the job to the right of the queue instead of the left (default false)

    parent?: {
        id: string;
        queue: string;
    }

    Type declaration

    parent?: {
        id: string;
        queue: string;
    }

    Type declaration

    prevMillis?: number

    Internal property used by repeatable jobs.

    -
    priority?: number

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that +

    prevMillis?: number

    Internal property used by repeatable jobs.

    +
    priority?: number

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required.

    Default Value

    0
     
    -
    removeOnComplete?: number | boolean | KeepJobs

    If true, removes the job when it successfully completes +

    removeOnComplete?: number | boolean | KeepJobs

    If true, removes the job when it successfully completes When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the completed set.

    -
    removeOnFail?: number | boolean | KeepJobs

    If true, removes the job when it fails after all attempts. +

    removeOnFail?: number | boolean | KeepJobs

    If true, removes the job when it fails after all attempts. When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the failed set.

    -
    repeat?: RepeatOptions

    Repeat this job, for example based on a cron schedule.

    -
    repeatJobKey?: string

    Internal property used by repeatable jobs to save base repeat job key.

    -
    sizeLimit?: number

    Limits the size in bytes of the job's data payload (as a JSON serialized string).

    -
    stackTraceLimit?: number

    Limits the amount of stack trace lines that will be recorded in the stacktrace.

    -
    telemetryMetadata?: string

    TelemetryMetadata, provide for context propagation.

    -
    timestamp?: number

    Timestamp when the job was created.

    +
    repeat?: RepeatOptions

    Repeat this job, for example based on a cron schedule.

    +
    repeatJobKey?: string

    Internal property used by repeatable jobs to save base repeat job key.

    +
    sizeLimit?: number

    Limits the size in bytes of the job's data payload (as a JSON serialized string).

    +
    stackTraceLimit?: number

    Limits the amount of stack trace lines that will be recorded in the stacktrace.

    +
    telemetryMetadata?: string

    TelemetryMetadata, provide for context propagation.

    +
    timestamp?: number

    Timestamp when the job was created.

    Default Value

    Date.now()
     
    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.BaseOptions.html b/interfaces/v5.BaseOptions.html index 2f385062b9..81c9a20e2c 100644 --- a/interfaces/v5.BaseOptions.html +++ b/interfaces/v5.BaseOptions.html @@ -1,3 +1,3 @@ -BaseOptions | bullmq - v5.31.2

    Interface BaseOptions

    interface BaseOptions {
        skipVersionCheck?: boolean;
        url?: string;
    }

    Properties

    skipVersionCheck? +BaseOptions | bullmq - v5.31.2

    Interface BaseOptions

    interface BaseOptions {
        skipVersionCheck?: boolean;
        url?: string;
    }

    Properties

    skipVersionCheck?: boolean
    url?: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    skipVersionCheck?: boolean
    url?: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.BuiltInStrategies.html b/interfaces/v5.BuiltInStrategies.html index a286c4671d..5d2a814383 100644 --- a/interfaces/v5.BuiltInStrategies.html +++ b/interfaces/v5.BuiltInStrategies.html @@ -1 +1 @@ -BuiltInStrategies | bullmq - v5.31.2

    Interface BuiltInStrategies

    interface BuiltInStrategies {
        [index: string]: ((delay) => BackoffStrategy);
    }

    Indexable

    [index: string]: ((delay) => BackoffStrategy)

    Generated using TypeDoc

    \ No newline at end of file +BuiltInStrategies | bullmq - v5.31.2

    Interface BuiltInStrategies

    interface BuiltInStrategies {
        [index: string]: ((delay) => BackoffStrategy);
    }

    Indexable

    [index: string]: ((delay) => BackoffStrategy)

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.ChildMessage.html b/interfaces/v5.ChildMessage.html index 3fe312ac98..dae84dc823 100644 --- a/interfaces/v5.ChildMessage.html +++ b/interfaces/v5.ChildMessage.html @@ -1,4 +1,4 @@ -ChildMessage | bullmq - v5.31.2

    Interface ChildMessage

    interface ChildMessage {
        cmd: ParentCommand;
        err?: Record<string, any>;
        value?: any;
    }

    Properties

    cmd +ChildMessage | bullmq - v5.31.2

    Interface ChildMessage

    interface ChildMessage {
        cmd: ParentCommand;
        err?: Record<string, any>;
        value?: any;
    }

    Properties

    Properties

    err?: Record<string, any>
    value?: any

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    err?: Record<string, any>
    value?: any

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.ContextManager.html b/interfaces/v5.ContextManager.html index 8ae3df071e..fe71e56130 100644 --- a/interfaces/v5.ContextManager.html +++ b/interfaces/v5.ContextManager.html @@ -1,15 +1,15 @@ ContextManager | bullmq - v5.31.2

    Interface ContextManager<Context>

    Context manager interface

    The context manager is responsible for managing the context and propagating it across the application.

    -
    interface ContextManager<Context> {
        active(): Context;
        fromMetadata(activeContext, metadata): Context;
        getMetadata(context): string;
        with<A>(context, fn): ReturnType<A>;
    }

    Type Parameters

    • Context = any

    Methods

    interface ContextManager<Context> {
        active(): Context;
        fromMetadata(activeContext, metadata): Context;
        getMetadata(context): string;
        with<A>(context, fn): ReturnType<A>;
    }

    Type Parameters

    • Context = any

    Methods

    • Creates a new context from a serialized version effectively linking the new context to the parent context.

      -

      Parameters

      • activeContext: Context
      • metadata: string

      Returns Context

    • Returns a serialized version of the current context. The metadata is the mechanism used to propagate the context across a distributed application.

      -

      Parameters

      Returns string

    • Creates a new context and sets it as active for the fn passed as last argument

      -

      Type Parameters

      • A extends ((...args) => any)

      Parameters

      Returns ReturnType<A>

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.DebounceOptions.html b/interfaces/v5.DebounceOptions.html index f3bc707a9d..ae3ed3e872 100644 --- a/interfaces/v5.DebounceOptions.html +++ b/interfaces/v5.DebounceOptions.html @@ -1,6 +1,6 @@ DebounceOptions | bullmq - v5.31.2

    Interface DebounceOptions

    Debounce options

    -
    interface DebounceOptions {
        id: string;
        ttl?: number;
    }

    Properties

    id +
    interface DebounceOptions {
        id: string;
        ttl?: number;
    }

    Properties

    Properties

    id: string

    Identifier

    -
    ttl?: number

    ttl in milliseconds

    -

    Generated using TypeDoc

    \ No newline at end of file +
    ttl?: number

    ttl in milliseconds

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.DefaultJobOptions.html b/interfaces/v5.DefaultJobOptions.html index ee6c058888..b9eff6532b 100644 --- a/interfaces/v5.DefaultJobOptions.html +++ b/interfaces/v5.DefaultJobOptions.html @@ -1,4 +1,4 @@ -DefaultJobOptions | bullmq - v5.31.2

    Interface DefaultJobOptions

    interface DefaultJobOptions {
        attempts?: number;
        backoff?: number | BackoffOptions;
        delay?: number;
        keepLogs?: number;
        lifo?: boolean;
        priority?: number;
        removeOnComplete?: number | boolean | KeepJobs;
        removeOnFail?: number | boolean | KeepJobs;
        sizeLimit?: number;
        stackTraceLimit?: number;
        timestamp?: number;
    }

    Hierarchy (view full)

    Properties

    attempts? +DefaultJobOptions | bullmq - v5.31.2

    Interface DefaultJobOptions

    interface DefaultJobOptions {
        attempts?: number;
        backoff?: number | BackoffOptions;
        delay?: number;
        keepLogs?: number;
        lifo?: boolean;
        priority?: number;
        removeOnComplete?: number | boolean | KeepJobs;
        removeOnFail?: number | boolean | KeepJobs;
        sizeLimit?: number;
        stackTraceLimit?: number;
        timestamp?: number;
    }

    Hierarchy (view full)

    Properties

    attempts? backoff? delay? keepLogs? @@ -12,33 +12,33 @@

    Properties

    attempts?: number

    The total number of attempts to try the job until it completes.

    Default Value

    0
     
    -
    backoff?: number | BackoffOptions

    Backoff setting for automatic retries if the job fails

    -
    delay?: number

    An amount of milliseconds to wait until this job can be processed. +

    backoff?: number | BackoffOptions

    Backoff setting for automatic retries if the job fails

    +
    delay?: number

    An amount of milliseconds to wait until this job can be processed. Note that for accurate delays, worker and producers should have their clocks synchronized.

    Default Value

    0
     
    -
    keepLogs?: number

    Maximum amount of log entries that will be preserved

    -
    lifo?: boolean

    If true, adds the job to the right of the queue instead of the left (default false)

    +
    keepLogs?: number

    Maximum amount of log entries that will be preserved

    +
    lifo?: boolean

    If true, adds the job to the right of the queue instead of the left (default false)

    priority?: number

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that +

    priority?: number

    Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that using priorities has a slight impact on performance, so do not use it if not required.

    Default Value

    0
     
    -
    removeOnComplete?: number | boolean | KeepJobs

    If true, removes the job when it successfully completes +

    removeOnComplete?: number | boolean | KeepJobs

    If true, removes the job when it successfully completes When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the completed set.

    -
    removeOnFail?: number | boolean | KeepJobs

    If true, removes the job when it fails after all attempts. +

    removeOnFail?: number | boolean | KeepJobs

    If true, removes the job when it fails after all attempts. When given a number, it specifies the maximum amount of jobs to keep, or you can provide an object specifying max age and/or count to keep. It overrides whatever setting is used in the worker. Default behavior is to keep the job in the failed set.

    -
    sizeLimit?: number

    Limits the size in bytes of the job's data payload (as a JSON serialized string).

    -
    stackTraceLimit?: number

    Limits the amount of stack trace lines that will be recorded in the stacktrace.

    -
    timestamp?: number

    Timestamp when the job was created.

    +
    sizeLimit?: number

    Limits the size in bytes of the job's data payload (as a JSON serialized string).

    +
    stackTraceLimit?: number

    Limits the amount of stack trace lines that will be recorded in the stacktrace.

    +
    timestamp?: number

    Timestamp when the job was created.

    Default Value

    Date.now()
     
    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.DependenciesOpts.html b/interfaces/v5.DependenciesOpts.html index 3a45d54660..bd68b592af 100644 --- a/interfaces/v5.DependenciesOpts.html +++ b/interfaces/v5.DependenciesOpts.html @@ -1,3 +1,3 @@ -DependenciesOpts | bullmq - v5.31.2

    Interface DependenciesOpts

    interface DependenciesOpts {
        processed?: {
            count?: number;
            cursor?: number;
        };
        unprocessed?: {
            count?: number;
            cursor?: number;
        };
    }

    Properties

    processed? +DependenciesOpts | bullmq - v5.31.2

    Interface DependenciesOpts

    interface DependenciesOpts {
        processed?: {
            count?: number;
            cursor?: number;
        };
        unprocessed?: {
            count?: number;
            cursor?: number;
        };
    }

    Properties

    processed?: {
        count?: number;
        cursor?: number;
    }

    Type declaration

    • Optional count?: number
    • Optional cursor?: number
    unprocessed?: {
        count?: number;
        cursor?: number;
    }

    Type declaration

    • Optional count?: number
    • Optional cursor?: number

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    processed?: {
        count?: number;
        cursor?: number;
    }

    Type declaration

    • Optional count?: number
    • Optional cursor?: number
    unprocessed?: {
        count?: number;
        cursor?: number;
    }

    Type declaration

    • Optional count?: number
    • Optional cursor?: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.FlowJobBase.html b/interfaces/v5.FlowJobBase.html index 5d382c39d4..414c4399b3 100644 --- a/interfaces/v5.FlowJobBase.html +++ b/interfaces/v5.FlowJobBase.html @@ -1,7 +1,7 @@ -FlowJobBase | bullmq - v5.31.2

    Interface FlowJobBase<T>

    interface FlowJobBase<T> {
        children?: FlowChildJob[];
        data?: any;
        name: string;
        opts?: Omit<T, "repeat">;
        prefix?: string;
        queueName: string;
    }

    Type Parameters

    • T

    Properties

    children? +FlowJobBase | bullmq - v5.31.2

    Interface FlowJobBase<T>

    interface FlowJobBase<T> {
        children?: FlowChildJob[];
        data?: any;
        name: string;
        opts?: Omit<T, "repeat">;
        prefix?: string;
        queueName: string;
    }

    Type Parameters

    • T

    Properties

    children?: FlowChildJob[]
    data?: any
    name: string
    opts?: Omit<T, "repeat">
    prefix?: string
    queueName: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    children?: FlowChildJob[]
    data?: any
    name: string
    opts?: Omit<T, "repeat">
    prefix?: string
    queueName: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.FlowOpts.html b/interfaces/v5.FlowOpts.html index cb81938b6c..647da60c32 100644 --- a/interfaces/v5.FlowOpts.html +++ b/interfaces/v5.FlowOpts.html @@ -1,3 +1,3 @@ -FlowOpts | bullmq - v5.31.2

    Interface FlowOpts

    interface FlowOpts {
        queuesOptions: FlowQueuesOpts;
    }

    Properties

    queuesOptions +FlowOpts | bullmq - v5.31.2

    Interface FlowOpts

    interface FlowOpts {
        queuesOptions: FlowQueuesOpts;
    }

    Properties

    Properties

    queuesOptions: FlowQueuesOpts

    Map of options for Queue classes.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.FlowProducerListener.html b/interfaces/v5.FlowProducerListener.html index 36d72ab918..bf794fe9b6 100644 --- a/interfaces/v5.FlowProducerListener.html +++ b/interfaces/v5.FlowProducerListener.html @@ -1,11 +1,11 @@ -FlowProducerListener | bullmq - v5.31.2

    Interface FlowProducerListener

    interface FlowProducerListener {
        error: ((failedReason) => void);
        ioredis:close: (() => void);
    }

    Hierarchy (view full)

    Properties

    error +FlowProducerListener | bullmq - v5.31.2

    Interface FlowProducerListener

    interface FlowProducerListener {
        error: ((failedReason) => void);
        ioredis:close: (() => void);
    }

    Hierarchy (view full)

    Properties

    Properties

    error: ((failedReason) => void)

    Listen to 'error' event.

    This event is triggered when an error is throw.

    Type declaration

      • (failedReason): void
      • Listen to 'error' event.

        This event is triggered when an error is throw.

        -

        Parameters

        • failedReason: Error

        Returns void

    ioredis:close: (() => void)

    Listen to 'ioredis:close' event.

    +

    Parameters

    • failedReason: Error

    Returns void

    ioredis:close: (() => void)

    Listen to 'ioredis:close' event.

    This event is triggered when ioredis is closed.

    Type declaration

      • (): void
      • Listen to 'ioredis:close' event.

        This event is triggered when ioredis is closed.

        -

        Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.GetNextJobOptions.html b/interfaces/v5.GetNextJobOptions.html index e80900fe2e..101f8c1810 100644 --- a/interfaces/v5.GetNextJobOptions.html +++ b/interfaces/v5.GetNextJobOptions.html @@ -1,2 +1,2 @@ -GetNextJobOptions | bullmq - v5.31.2

    Interface GetNextJobOptions

    interface GetNextJobOptions {
        block?: boolean;
    }

    Properties

    Properties

    block?: boolean

    Generated using TypeDoc

    \ No newline at end of file +GetNextJobOptions | bullmq - v5.31.2

    Interface GetNextJobOptions

    interface GetNextJobOptions {
        block?: boolean;
    }

    Properties

    Properties

    block?: boolean

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.IConnection.html b/interfaces/v5.IConnection.html index 3a5e538224..a9e6923e16 100644 --- a/interfaces/v5.IConnection.html +++ b/interfaces/v5.IConnection.html @@ -1,3 +1,3 @@ -IConnection | bullmq - v5.31.2

    Interface IConnection

    interface IConnection {
        client: Promise<RedisClient>;
        waitUntilReady(): Promise<boolean>;
    }

    Hierarchy

    • EventEmitter
      • IConnection

    Properties

    client +IConnection | bullmq - v5.31.2

    Interface IConnection

    interface IConnection {
        client: Promise<RedisClient>;
        waitUntilReady(): Promise<boolean>;
    }

    Hierarchy

    • EventEmitter
      • IConnection

    Properties

    Methods

    Properties

    client: Promise<RedisClient>

    Methods

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    client: Promise<RedisClient>

    Methods

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.IoredisListener.html b/interfaces/v5.IoredisListener.html index 5c4a222942..1251f2ee98 100644 --- a/interfaces/v5.IoredisListener.html +++ b/interfaces/v5.IoredisListener.html @@ -1,6 +1,6 @@ -IoredisListener | bullmq - v5.31.2

    Interface IoredisListener

    interface IoredisListener {
        ioredis:close: (() => void);
    }

    Hierarchy (view full)

    Properties

    ioredis:close +IoredisListener | bullmq - v5.31.2

    Interface IoredisListener

    interface IoredisListener {
        ioredis:close: (() => void);
    }

    Hierarchy (view full)

    Properties

    Properties

    ioredis:close: (() => void)

    Listen to 'ioredis:close' event.

    This event is triggered when ioredis is closed.

    Type declaration

      • (): void
      • Listen to 'ioredis:close' event.

        This event is triggered when ioredis is closed.

        -

        Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.JobJson.html b/interfaces/v5.JobJson.html index 53bec6bb4b..32101ccfb1 100644 --- a/interfaces/v5.JobJson.html +++ b/interfaces/v5.JobJson.html @@ -1,4 +1,4 @@ -JobJson | bullmq - v5.31.2

    Interface JobJson

    interface JobJson {
        attemptsMade: number;
        attemptsStarted: number;
        data: string;
        debounceId?: string;
        deduplicationId?: string;
        failedReason: string;
        finishedOn?: number;
        id: string;
        name: string;
        opts: RedisJobOptions;
        parent?: ParentKeys;
        parentKey?: string;
        processedBy?: string;
        processedOn?: number;
        progress: number | object;
        repeatJobKey?: string;
        returnvalue: string;
        stacktrace: string;
        timestamp: number;
    }

    Properties

    attemptsMade +JobJson | bullmq - v5.31.2

    Interface JobJson

    interface JobJson {
        attemptsMade: number;
        attemptsStarted: number;
        data: string;
        debounceId?: string;
        deduplicationId?: string;
        failedReason: string;
        finishedOn?: number;
        id: string;
        name: string;
        opts: RedisJobOptions;
        parent?: ParentKeys;
        parentKey?: string;
        processedBy?: string;
        processedOn?: number;
        progress: number | object;
        repeatJobKey?: string;
        returnvalue: string;
        stacktrace: string;
        timestamp: number;
    }

    Properties

    attemptsMade: number
    attemptsStarted: number
    data: string
    debounceId?: string
    deduplicationId?: string
    failedReason: string
    finishedOn?: number
    id: string
    name: string
    parent?: ParentKeys
    parentKey?: string
    processedBy?: string
    processedOn?: number
    progress: number | object
    repeatJobKey?: string
    returnvalue: string
    stacktrace: string
    timestamp: number

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    attemptsMade: number
    attemptsStarted: number
    data: string
    debounceId?: string
    deduplicationId?: string
    failedReason: string
    finishedOn?: number
    id: string
    name: string
    parent?: ParentKeys
    parentKey?: string
    processedBy?: string
    processedOn?: number
    progress: number | object
    repeatJobKey?: string
    returnvalue: string
    stacktrace: string
    timestamp: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.JobJsonRaw.html b/interfaces/v5.JobJsonRaw.html index 0f64d95d3c..dd3c517139 100644 --- a/interfaces/v5.JobJsonRaw.html +++ b/interfaces/v5.JobJsonRaw.html @@ -1,4 +1,4 @@ -JobJsonRaw | bullmq - v5.31.2

    Interface JobJsonRaw

    interface JobJsonRaw {
        atm?: string;
        ats?: string;
        attemptsMade?: string;
        data: string;
        deid?: string;
        delay: string;
        failedReason: string;
        finishedOn?: string;
        id: string;
        name: string;
        opts: string;
        parent?: string;
        parentKey?: string;
        pb?: string;
        processedOn?: string;
        progress: string;
        returnvalue: string;
        rjk?: string;
        stacktrace: string[];
        timestamp: string;
    }

    Properties

    atm? +JobJsonRaw | bullmq - v5.31.2

    Interface JobJsonRaw

    interface JobJsonRaw {
        atm?: string;
        ats?: string;
        attemptsMade?: string;
        data: string;
        deid?: string;
        delay: string;
        failedReason: string;
        finishedOn?: string;
        id: string;
        name: string;
        opts: string;
        parent?: string;
        parentKey?: string;
        pb?: string;
        processedOn?: string;
        progress: string;
        returnvalue: string;
        rjk?: string;
        stacktrace: string[];
        timestamp: string;
    }

    Properties

    Properties

    atm?: string
    ats?: string
    attemptsMade?: string
    data: string
    deid?: string
    delay: string
    failedReason: string
    finishedOn?: string
    id: string
    name: string
    opts: string
    parent?: string
    parentKey?: string
    pb?: string
    processedOn?: string
    progress: string
    returnvalue: string
    rjk?: string
    stacktrace: string[]
    timestamp: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    atm?: string
    ats?: string
    attemptsMade?: string
    data: string
    deid?: string
    delay: string
    failedReason: string
    finishedOn?: string
    id: string
    name: string
    opts: string
    parent?: string
    parentKey?: string
    pb?: string
    processedOn?: string
    progress: string
    returnvalue: string
    rjk?: string
    stacktrace: string[]
    timestamp: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.JobNode.html b/interfaces/v5.JobNode.html index 8c4ce08a22..27c6906096 100644 --- a/interfaces/v5.JobNode.html +++ b/interfaces/v5.JobNode.html @@ -1,3 +1,3 @@ -JobNode | bullmq - v5.31.2

    Interface JobNode

    interface JobNode {
        children?: JobNode[];
        job: Job<any, any, string>;
    }

    Properties

    children? +JobNode | bullmq - v5.31.2

    Interface JobNode

    interface JobNode {
        children?: JobNode[];
        job: Job<any, any, string>;
    }

    Properties

    Properties

    children?: JobNode[]
    job: Job<any, any, string>

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    children?: JobNode[]
    job: Job<any, any, string>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.JobSchedulerJson.html b/interfaces/v5.JobSchedulerJson.html index fcb8a8396e..f74b7572e1 100644 --- a/interfaces/v5.JobSchedulerJson.html +++ b/interfaces/v5.JobSchedulerJson.html @@ -1,4 +1,4 @@ -JobSchedulerJson | bullmq - v5.31.2

    Interface JobSchedulerJson<D>

    interface JobSchedulerJson<D> {
        endDate: number;
        every?: string;
        id?: string;
        key: string;
        name: string;
        next?: number;
        pattern: string;
        template?: JobSchedulerTemplateJson<D>;
        tz: string;
    }

    Type Parameters

    • D = any

    Properties

    endDate +JobSchedulerJson | bullmq - v5.31.2

    Interface JobSchedulerJson<D>

    interface JobSchedulerJson<D> {
        endDate: number;
        every?: string;
        id?: string;
        key: string;
        name: string;
        next?: number;
        pattern: string;
        template?: JobSchedulerTemplateJson<D>;
        tz: string;
    }

    Type Parameters

    • D = any

    Properties

    Properties

    endDate: number
    every?: string
    id?: string
    key: string
    name: string
    next?: number
    pattern: string
    tz: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    endDate: number
    every?: string
    id?: string
    key: string
    name: string
    next?: number
    pattern: string
    tz: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.JobSchedulerTemplateJson.html b/interfaces/v5.JobSchedulerTemplateJson.html index edb0885c37..04a8acb5ed 100644 --- a/interfaces/v5.JobSchedulerTemplateJson.html +++ b/interfaces/v5.JobSchedulerTemplateJson.html @@ -1,3 +1,3 @@ -JobSchedulerTemplateJson | bullmq - v5.31.2

    Interface JobSchedulerTemplateJson<D>

    interface JobSchedulerTemplateJson<D> {
        data?: D;
        opts?: Omit<JobsOptions, "repeat" | "jobId" | "delay">;
    }

    Type Parameters

    • D = any

    Properties

    data? +JobSchedulerTemplateJson | bullmq - v5.31.2

    Interface JobSchedulerTemplateJson<D>

    interface JobSchedulerTemplateJson<D> {
        data?: D;
        opts?: Omit<JobsOptions, "repeat" | "jobId" | "delay">;
    }

    Type Parameters

    • D = any

    Properties

    Properties

    data?: D
    opts?: Omit<JobsOptions, "repeat" | "jobId" | "delay">

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    data?: D
    opts?: Omit<JobsOptions, "repeat" | "jobId" | "delay">

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.KeepJobs.html b/interfaces/v5.KeepJobs.html index 30288de1cd..840114aa34 100644 --- a/interfaces/v5.KeepJobs.html +++ b/interfaces/v5.KeepJobs.html @@ -2,8 +2,8 @@

    Specify which jobs to keep after finishing. If both age and count are specified, then the jobs kept will be the ones that satisfies both properties.

    -
    interface KeepJobs {
        age?: number;
        count?: number;
    }

    Properties

    interface KeepJobs {
        age?: number;
        count?: number;
    }

    Properties

    Properties

    age?: number

    Maximum age in seconds for job to be kept.

    -
    count?: number

    Maximum count of jobs to be kept.

    -

    Generated using TypeDoc

    \ No newline at end of file +
    count?: number

    Maximum count of jobs to be kept.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.Metrics.html b/interfaces/v5.Metrics.html index 4bc8ec80f8..681c0658d2 100644 --- a/interfaces/v5.Metrics.html +++ b/interfaces/v5.Metrics.html @@ -1,4 +1,4 @@ -Metrics | bullmq - v5.31.2

    Interface Metrics

    interface Metrics {
        count: number;
        data: number[];
        meta: {
            count: number;
            prevCount: number;
            prevTS: number;
        };
    }

    Properties

    count +Metrics | bullmq - v5.31.2

    Interface Metrics

    interface Metrics {
        count: number;
        data: number[];
        meta: {
            count: number;
            prevCount: number;
            prevTS: number;
        };
    }

    Properties

    Properties

    count: number
    data: number[]
    meta: {
        count: number;
        prevCount: number;
        prevTS: number;
    }

    Type declaration

    • count: number
    • prevCount: number
    • prevTS: number

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    count: number
    data: number[]
    meta: {
        count: number;
        prevCount: number;
        prevTS: number;
    }

    Type declaration

    • count: number
    • prevCount: number
    • prevTS: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.MetricsOptions.html b/interfaces/v5.MetricsOptions.html index 31b99f94af..179a278ce3 100644 --- a/interfaces/v5.MetricsOptions.html +++ b/interfaces/v5.MetricsOptions.html @@ -1,5 +1,5 @@ -MetricsOptions | bullmq - v5.31.2

    Interface MetricsOptions

    interface MetricsOptions {
        maxDataPoints?: number;
    }

    Properties

    maxDataPoints? +MetricsOptions | bullmq - v5.31.2

    Interface MetricsOptions

    interface MetricsOptions {
        maxDataPoints?: number;
    }

    Properties

    Properties

    maxDataPoints?: number

    Enable gathering metrics for finished jobs. Output refers to all finished jobs, completed or failed.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.MinimalJob.html b/interfaces/v5.MinimalJob.html index fc721b86f6..10464cb1e4 100644 --- a/interfaces/v5.MinimalJob.html +++ b/interfaces/v5.MinimalJob.html @@ -1,5 +1,5 @@ MinimalJob | bullmq - v5.31.2

    Interface MinimalJob<DataType, ReturnType, NameType>

    MinimalJob

    -
    interface MinimalJob<DataType, ReturnType, NameType> {
        attemptsMade: number;
        data: DataType;
        delay: number;
        failedReason: string;
        finishedOn?: number;
        id?: string;
        name: NameType;
        opts: JobsOptions;
        parent?: ParentKeys;
        parentKey?: string;
        processedOn?: number;
        progress: number | object;
        repeatJobKey?: string;
        returnvalue: ReturnType;
        stacktrace: string[];
        timestamp: number;
        get prefix(): string;
        get queueName(): string;
        get queueQualifiedName(): string;
        asJSON(): JobJson;
        asJSONSandbox(): JobJsonSandbox;
        log(logRow): Promise<number>;
        updateData(data): Promise<void>;
        updateProgress(progress): Promise<void>;
    }

    Type Parameters

    • DataType = any
    • ReturnType = any
    • NameType extends string = string

    Implemented by

    Properties

    interface MinimalJob<DataType, ReturnType, NameType> {
        attemptsMade: number;
        data: DataType;
        delay: number;
        failedReason: string;
        finishedOn?: number;
        id?: string;
        name: NameType;
        opts: JobsOptions;
        parent?: ParentKeys;
        parentKey?: string;
        processedOn?: number;
        progress: number | object;
        repeatJobKey?: string;
        returnvalue: ReturnType;
        stacktrace: string[];
        timestamp: number;
        get prefix(): string;
        get queueName(): string;
        get queueQualifiedName(): string;
        asJSON(): JobJson;
        asJSONSandbox(): JobJsonSandbox;
        log(logRow): Promise<number>;
        updateData(data): Promise<void>;
        updateProgress(progress): Promise<void>;
    }

    Type Parameters

    • DataType = any
    • ReturnType = any
    • NameType extends string = string

    Implemented by

    Properties

    attemptsMade data delay failedReason @@ -26,37 +26,37 @@

    Properties

    attemptsMade: number

    Number of attempts after the job has failed.

    Default Value

    0
     
    -
    data: DataType

    The payload for this job.

    -
    delay: number

    An amount of milliseconds to wait until this job can be processed.

    +
    data: DataType

    The payload for this job.

    +
    delay: number

    An amount of milliseconds to wait until this job can be processed.

    Default Value

    0
     
    -
    failedReason: string

    Reason for failing.

    -
    finishedOn?: number

    Timestamp for when the job finished (completed or failed).

    -
    id?: string
    name: NameType

    The name of the Job

    -

    The options object for this job.

    -
    parent?: ParentKeys

    Object that contains parentId (id) and parent queueKey.

    -
    parentKey?: string

    Fully qualified key (including the queue prefix) pointing to the parent of this job.

    -
    processedOn?: number

    Timestamp for when the job was processed.

    -
    progress: number | object

    The progress a job has performed so far.

    +
    failedReason: string

    Reason for failing.

    +
    finishedOn?: number

    Timestamp for when the job finished (completed or failed).

    +
    id?: string
    name: NameType

    The name of the Job

    +

    The options object for this job.

    +
    parent?: ParentKeys

    Object that contains parentId (id) and parent queueKey.

    +
    parentKey?: string

    Fully qualified key (including the queue prefix) pointing to the parent of this job.

    +
    processedOn?: number

    Timestamp for when the job was processed.

    +
    progress: number | object

    The progress a job has performed so far.

    Default Value

    0
     
    -
    repeatJobKey?: string

    Base repeat job key.

    -
    returnvalue: ReturnType

    The value returned by the processor when processing this job.

    +
    repeatJobKey?: string

    Base repeat job key.

    +
    returnvalue: ReturnType

    The value returned by the processor when processing this job.

    Default Value

    null
     
    -
    stacktrace: string[]

    Stacktrace for the error (for failed jobs).

    +
    stacktrace: string[]

    Stacktrace for the error (for failed jobs).

    Default Value

    null
     
    -
    timestamp: number

    Timestamp when the job was created (unless overridden with job options).

    -

    Accessors

    • get queueQualifiedName(): string
    • Returns string

      it includes the prefix, the namespace separator :, and queue name.

      +
    timestamp: number

    Timestamp when the job was created (unless overridden with job options).

    +

    Accessors

    Methods

    Methods

    • Logs one row of log data.

      Parameters

      • logRow: string

        string with log data to be logged.

        -

      Returns Promise<number>

    • Updates a job's data

      +

    Returns Promise<number>

    • Updates a job's data

      Parameters

      • data: DataType

        the data that will replace the current jobs data.

        -

      Returns Promise<void>

    • Updates a job's progress

      +

    Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file +

    Returns Promise<void>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.MoveToDelayedOpts.html b/interfaces/v5.MoveToDelayedOpts.html index 62ece28d72..16c163e391 100644 --- a/interfaces/v5.MoveToDelayedOpts.html +++ b/interfaces/v5.MoveToDelayedOpts.html @@ -1,2 +1,2 @@ -MoveToDelayedOpts | bullmq - v5.31.2

    Interface MoveToDelayedOpts

    interface MoveToDelayedOpts {
        skipAttempt?: boolean;
    }

    Properties

    Properties

    skipAttempt?: boolean

    Generated using TypeDoc

    \ No newline at end of file +MoveToDelayedOpts | bullmq - v5.31.2

    Interface MoveToDelayedOpts

    interface MoveToDelayedOpts {
        skipAttempt?: boolean;
    }

    Properties

    Properties

    skipAttempt?: boolean

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.MoveToWaitingChildrenOpts.html b/interfaces/v5.MoveToWaitingChildrenOpts.html index a24afe521f..3218eae0d5 100644 --- a/interfaces/v5.MoveToWaitingChildrenOpts.html +++ b/interfaces/v5.MoveToWaitingChildrenOpts.html @@ -1,2 +1,2 @@ -MoveToWaitingChildrenOpts | bullmq - v5.31.2

    Interface MoveToWaitingChildrenOpts

    interface MoveToWaitingChildrenOpts {
        child?: {
            id: string;
            queue: string;
        };
    }

    Properties

    Properties

    child?: {
        id: string;
        queue: string;
    }

    Type declaration

    • id: string
    • queue: string

    Generated using TypeDoc

    \ No newline at end of file +MoveToWaitingChildrenOpts | bullmq - v5.31.2

    Interface MoveToWaitingChildrenOpts

    interface MoveToWaitingChildrenOpts {
        child?: {
            id: string;
            queue: string;
        };
    }

    Properties

    Properties

    child?: {
        id: string;
        queue: string;
    }

    Type declaration

    • id: string
    • queue: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.NodeOpts.html b/interfaces/v5.NodeOpts.html index 1a0f534648..387ebcd7a1 100644 --- a/interfaces/v5.NodeOpts.html +++ b/interfaces/v5.NodeOpts.html @@ -1,11 +1,11 @@ -NodeOpts | bullmq - v5.31.2

    Interface NodeOpts

    interface NodeOpts {
        depth?: number;
        id: string;
        maxChildren?: number;
        prefix?: string;
        queueName: string;
    }

    Properties

    depth? +NodeOpts | bullmq - v5.31.2

    Interface NodeOpts

    interface NodeOpts {
        depth?: number;
        id: string;
        maxChildren?: number;
        prefix?: string;
        queueName: string;
    }

    Properties

    depth?: number

    Maximum depth or levels to visit in the tree.

    -
    id: string

    Root job id.

    -
    maxChildren?: number

    Maximum quantity of children per type (processed, unprocessed).

    -
    prefix?: string

    Prefix included in job key.

    -
    queueName: string

    Root job queue name.

    -

    Generated using TypeDoc

    \ No newline at end of file +
    id: string

    Root job id.

    +
    maxChildren?: number

    Maximum quantity of children per type (processed, unprocessed).

    +
    prefix?: string

    Prefix included in job key.

    +
    queueName: string

    Root job queue name.

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.ObliterateOpts.html b/interfaces/v5.ObliterateOpts.html index 60f4f2a4f5..d0f05df09e 100644 --- a/interfaces/v5.ObliterateOpts.html +++ b/interfaces/v5.ObliterateOpts.html @@ -1,9 +1,9 @@ -ObliterateOpts | bullmq - v5.31.2

    Interface ObliterateOpts

    interface ObliterateOpts {
        count?: number;
        force?: boolean;
    }

    Properties

    count? +ObliterateOpts | bullmq - v5.31.2

    Interface ObliterateOpts

    interface ObliterateOpts {
        count?: number;
        force?: boolean;
    }

    Properties

    Properties

    count?: number

    Use count with the maximum number of deleted keys per iteration

    Default Value

    1000
     
    -
    force?: boolean

    Use force = true to force obliteration even with active jobs in the queue

    +
    force?: boolean

    Use force = true to force obliteration even with active jobs in the queue

    Default Value

    false
     
    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.Parent.html b/interfaces/v5.Parent.html index 54cece56b1..3a40d3fb76 100644 --- a/interfaces/v5.Parent.html +++ b/interfaces/v5.Parent.html @@ -1,7 +1,7 @@ Parent | bullmq - v5.31.2

    Interface Parent<T>

    Describes the parent for a Job.

    -
    interface Parent<T> {
        data?: T;
        name: string;
        opts?: JobsOptions;
        prefix?: string;
        queue?: string;
    }

    Type Parameters

    • T

    Properties

    interface Parent<T> {
        data?: T;
        name: string;
        opts?: JobsOptions;
        prefix?: string;
        queue?: string;
    }

    Type Parameters

    • T

    Properties

    data?: T
    name: string
    prefix?: string
    queue?: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    data?: T
    name: string
    prefix?: string
    queue?: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.ParentKeys.html b/interfaces/v5.ParentKeys.html index 37ab3ac663..28d5658802 100644 --- a/interfaces/v5.ParentKeys.html +++ b/interfaces/v5.ParentKeys.html @@ -1,3 +1,3 @@ -ParentKeys | bullmq - v5.31.2

    Interface ParentKeys

    interface ParentKeys {
        id: string;
        queueKey: string;
    }

    Properties

    id +ParentKeys | bullmq - v5.31.2

    Interface ParentKeys

    interface ParentKeys {
        id: string;
        queueKey: string;
    }

    Properties

    Properties

    id: string
    queueKey: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    id: string
    queueKey: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.ParentMessage.html b/interfaces/v5.ParentMessage.html index 12e80adf05..2ca4860757 100644 --- a/interfaces/v5.ParentMessage.html +++ b/interfaces/v5.ParentMessage.html @@ -1,5 +1,5 @@ -ParentMessage | bullmq - v5.31.2

    Interface ParentMessage

    interface ParentMessage {
        cmd: ChildCommand;
        err?: Error;
        job?: JobJson;
        value?: any;
    }

    Properties

    cmd +ParentMessage | bullmq - v5.31.2

    Interface ParentMessage

    interface ParentMessage {
        cmd: ChildCommand;
        err?: Error;
        job?: JobJson;
        value?: any;
    }

    Properties

    Properties

    err?: Error
    job?: JobJson
    value?: any

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    err?: Error
    job?: JobJson
    value?: any

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.QueueBaseOptions.html b/interfaces/v5.QueueBaseOptions.html index 10a6beec6d..c02da9fe1d 100644 --- a/interfaces/v5.QueueBaseOptions.html +++ b/interfaces/v5.QueueBaseOptions.html @@ -1,14 +1,14 @@ QueueBaseOptions | bullmq - v5.31.2

    Interface QueueBaseOptions

    Base Queue options

    -
    interface QueueBaseOptions {
        blockingConnection?: boolean;
        connection: ConnectionOptions;
        prefix?: string;
        skipVersionCheck?: boolean;
        telemetry?: Telemetry<any>;
    }

    Hierarchy (view full)

    Properties

    interface QueueBaseOptions {
        blockingConnection?: boolean;
        connection: ConnectionOptions;
        prefix?: string;
        skipVersionCheck?: boolean;
        telemetry?: Telemetry<any>;
    }

    Hierarchy (view full)

    Properties

    blockingConnection?: boolean

    Denotes commands should retry indefinitely.

    -

    Deprecated

    connection: ConnectionOptions

    Options for connecting to a Redis instance.

    -
    prefix?: string

    Prefix for all queue keys.

    -
    skipVersionCheck?: boolean

    Avoid version validation to be greater or equal than v5.0.0.

    +

    Deprecated

    connection: ConnectionOptions

    Options for connecting to a Redis instance.

    +
    prefix?: string

    Prefix for all queue keys.

    +
    skipVersionCheck?: boolean

    Avoid version validation to be greater or equal than v5.0.0.

    Default Value

    false
     
    -
    telemetry?: Telemetry<any>

    Telemetry client

    -

    Generated using TypeDoc

    \ No newline at end of file +
    telemetry?: Telemetry<any>

    Telemetry client

    +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/v5.QueueEventsListener.html b/interfaces/v5.QueueEventsListener.html index 94f6effe5b..22b95d17ca 100644 --- a/interfaces/v5.QueueEventsListener.html +++ b/interfaces/v5.QueueEventsListener.html @@ -1,4 +1,4 @@ -QueueEventsListener | bullmq - v5.31.2

    Interface QueueEventsListener

    interface QueueEventsListener {
        active: ((args, id) => void);
        added: ((args, id) => void);
        cleaned: ((args, id) => void);
        completed: ((args, id) => void);
        debounced: ((args, id) => void);
        deduplicated: ((args, id) => void);
        delayed: ((args, id) => void);
        drained: ((id) => void);
        duplicated: ((args, id) => void);
        error: ((args) => void);
        failed: ((args, id) => void);
        ioredis:close: (() => void);
        paused: ((args, id) => void);
        progress: ((args, id) => void);
        removed: ((args, id) => void);
        resumed: ((args, id) => void);
        retries-exhausted: ((args, id) => void);
        stalled: ((args, id) => void);
        waiting: ((args, id) => void);
        waiting-children: ((args, id) => void);
    }

    Hierarchy (view full)

    Properties

    active +QueueEventsListener | bullmq - v5.31.2

    Interface QueueEventsListener

    interface QueueEventsListener {
        active: ((args, id) => void);
        added: ((args, id) => void);
        cleaned: ((args, id) => void);
        completed: ((args, id) => void);
        debounced: ((args, id) => void);
        deduplicated: ((args, id) => void);
        delayed: ((args, id) => void);
        drained: ((id) => void);
        duplicated: ((args, id) => void);
        error: ((args) => void);
        failed: ((args, id) => void);
        ioredis:close: (() => void);
        paused: ((args, id) => void);
        progress: ((args, id) => void);
        removed: ((args, id) => void);
        resumed: ((args, id) => void);
        retries-exhausted: ((args, id) => void);
        stalled: ((args, id) => void);
        waiting: ((args, id) => void);
        waiting-children: ((args, id) => void);
    }

    Hierarchy (view full)

    Properties

    active added cleaned completed @@ -22,33 +22,33 @@

    This event is triggered when a job enters the 'active' state.

    Type declaration

      • (args, id): void
      • Listen to 'active' event.

        This event is triggered when a job enters the 'active' state.

        -

        Parameters

        • args: {
              jobId: string;
              prev?: string;
          }
          • jobId: string
          • Optional prev?: string
        • id: string

        Returns void

    added: ((args, id) => void)

    Listen to 'added' event.

    +

    Parameters

    • args: {
          jobId: string;
          prev?: string;
      }
      • jobId: string
      • Optional prev?: string
    • id: string

    Returns void

    added: ((args, id) => void)

    Listen to 'added' event.

    This event is triggered when a job is created.

    Type declaration

      • (args, id): void
      • Listen to 'added' event.

        This event is triggered when a job is created.

        -

        Parameters

        • args: {
              jobId: string;
              name: string;
          }
          • jobId: string
          • name: string
        • id: string

        Returns void

    cleaned: ((args, id) => void)

    Listen to 'cleaned' event.

    +

    Parameters

    • args: {
          jobId: string;
          name: string;
      }
      • jobId: string
      • name: string
    • id: string

    Returns void

    cleaned: ((args, id) => void)

    Listen to 'cleaned' event.

    This event is triggered when a cleaned method is triggered.

    Type declaration

      • (args, id): void
      • Listen to 'cleaned' event.

        This event is triggered when a cleaned method is triggered.

        -

        Parameters

        • args: {
              count: string;
          }
          • count: string
        • id: string

        Returns void

    completed: ((args, id) => void)

    Listen to 'completed' event.

    +

    Parameters

    • args: {
          count: string;
      }
      • count: string
    • id: string

    Returns void

    completed: ((args, id) => void)

    Listen to 'completed' event.

    This event is triggered when a job has successfully completed.

    Type declaration

      • (args, id): void
      • Listen to 'completed' event.

        This event is triggered when a job has successfully completed.

        -

        Parameters

        • args: {
              jobId: string;
              prev?: string;
              returnvalue: string;
          }
          • jobId: string
          • Optional prev?: string
          • returnvalue: string
        • id: string

        Returns void

    debounced: ((args, id) => void)

    Listen to 'debounced' event.

    +

    Parameters

    • args: {
          jobId: string;
          prev?: string;
          returnvalue: string;
      }
      • jobId: string
      • Optional prev?: string
      • returnvalue: string
    • id: string

    Returns void

    debounced: ((args, id) => void)

    Listen to 'debounced' event.

    Type declaration

      • (args, id): void
      • Listen to 'debounced' event.

        Parameters

        • args: {
              debounceId: string;
              jobId: string;
          }
          • debounceId: string
          • jobId: string
        • id: string

        Returns void

        Deprecated

        use deduplicated event

        This event is triggered when a job is debounced because debounceId still existed.

    Deprecated

    use deduplicated event

    This event is triggered when a job is debounced because debounceId still existed.

    -
    deduplicated: ((args, id) => void)

    Listen to 'deduplicated' event.

    +
    deduplicated: ((args, id) => void)

    Listen to 'deduplicated' event.

    This event is triggered when a job is deduplicated because deduplicatedId still existed.

    Type declaration

      • (args, id): void
      • Listen to 'deduplicated' event.

        This event is triggered when a job is deduplicated because deduplicatedId still existed.

        -

        Parameters

        • args: {
              deduplicationId: string;
              jobId: string;
          }
          • deduplicationId: string
          • jobId: string
        • id: string

        Returns void

    delayed: ((args, id) => void)

    Listen to 'delayed' event.

    +

    Parameters

    • args: {
          deduplicationId: string;
          jobId: string;
      }
      • deduplicationId: string
      • jobId: string
    • id: string

    Returns void

    delayed: ((args, id) => void)

    Listen to 'delayed' event.

    This event is triggered when a job is delayed.

    Type declaration

      • (args, id): void
      • Listen to 'delayed' event.

        This event is triggered when a job is delayed.

        -

        Parameters

        • args: {
              delay: number;
              jobId: string;
          }
          • delay: number
          • jobId: string
        • id: string

        Returns void

    drained: ((id) => void)

    Listen to 'drained' event.

    +

    Parameters

    • args: {
          delay: number;
          jobId: string;
      }
      • delay: number
      • jobId: string
    • id: string

    Returns void

    drained: ((id) => void)

    Listen to 'drained' event.

    This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied.

    @@ -56,27 +56,27 @@

    This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied.

    -

    Parameters

    • id: string

    Returns void

    duplicated: ((args, id) => void)

    Listen to 'duplicated' event.

    +

    Parameters

    • id: string

    Returns void

    duplicated: ((args, id) => void)

    Listen to 'duplicated' event.

    This event is triggered when a job is not created because it already exist.

    Type declaration

      • (args, id): void
      • Listen to 'duplicated' event.

        This event is triggered when a job is not created because it already exist.

        -

        Parameters

        • args: {
              jobId: string;
          }
          • jobId: string
        • id: string

        Returns void

    error: ((args) => void)

    Listen to 'error' event.

    +

    Parameters

    • args: {
          jobId: string;
      }
      • jobId: string
    • id: string

    Returns void

    error: ((args) => void)

    Listen to 'error' event.

    This event is triggered when an exception is thrown.

    Type declaration

      • (args): void
      • Listen to 'error' event.

        This event is triggered when an exception is thrown.

        -

        Parameters

        • args: Error

        Returns void

    failed: ((args, id) => void)

    Listen to 'failed' event.

    +

    Parameters

    • args: Error

    Returns void

    failed: ((args, id) => void)

    Listen to 'failed' event.

    This event is triggered when a job has thrown an exception.

    Type declaration

      • (args, id): void
      • Listen to 'failed' event.

        This event is triggered when a job has thrown an exception.

        -

        Parameters

        • args: {
              failedReason: string;
              jobId: string;
              prev?: string;
          }
          • failedReason: string
          • jobId: string
          • Optional prev?: string
        • id: string

        Returns void

    ioredis:close: (() => void)

    Listen to 'ioredis:close' event.

    +

    Parameters

    • args: {
          failedReason: string;
          jobId: string;
          prev?: string;
      }
      • failedReason: string
      • jobId: string
      • Optional prev?: string
    • id: string

    Returns void

    ioredis:close: (() => void)

    Listen to 'ioredis:close' event.

    This event is triggered when ioredis is closed.

    Type declaration

      • (): void
      • Listen to 'ioredis:close' event.

        This event is triggered when ioredis is closed.

        -

        Returns void

    paused: ((args, id) => void)

    Listen to 'paused' event.

    +

    Returns void

    paused: ((args, id) => void)

    Listen to 'paused' event.

    This event is triggered when a queue is paused.

    Type declaration

      • (args, id): void
      • Listen to 'paused' event.

        This event is triggered when a queue is paused.

        -

        Parameters

        • args: {}
          • id: string

          Returns void

      progress: ((args, id) => void)

      Listen to 'progress' event.

      +

      Parameters

      • args: {}
        • id: string

        Returns void

        progress: ((args, id) => void)

        Listen to 'progress' event.

        This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the @@ -86,21 +86,21 @@ Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world.

        -

        Parameters

        • args: {
              data: number | object;
              jobId: string;
          }
          • data: number | object
          • jobId: string
        • id: string

        Returns void

        removed: ((args, id) => void)

        Listen to 'removed' event.

        +

        Parameters

        • args: {
              data: number | object;
              jobId: string;
          }
          • data: number | object
          • jobId: string
        • id: string

        Returns void

        removed: ((args, id) => void)

        Listen to 'removed' event.

        This event is triggered when a job has been manually removed from the queue.

        Type declaration

          • (args, id): void
          • Listen to 'removed' event.

            This event is triggered when a job has been manually removed from the queue.

            -

            Parameters

            • args: {
                  jobId: string;
                  prev: string;
              }
              • jobId: string
              • prev: string
            • id: string

            Returns void

        resumed: ((args, id) => void)

        Listen to 'resumed' event.

        +

        Parameters

        • args: {
              jobId: string;
              prev: string;
          }
          • jobId: string
          • prev: string
        • id: string

        Returns void

        resumed: ((args, id) => void)

        Listen to 'resumed' event.

        This event is triggered when a queue is resumed.

        Type declaration

          • (args, id): void
          • Listen to 'resumed' event.

            This event is triggered when a queue is resumed.

            -

            Parameters

            • args: {}
              • id: string

              Returns void

          retries-exhausted: ((args, id) => void)

          Listen to 'retries-exhausted' event.

          +

          Parameters

          • args: {}
            • id: string

            Returns void

            retries-exhausted: ((args, id) => void)

            Listen to 'retries-exhausted' event.

            This event is triggered when a job has retried the maximum attempts.

            Type declaration

              • (args, id): void
              • Listen to 'retries-exhausted' event.

                This event is triggered when a job has retried the maximum attempts.

                -

                Parameters

                • args: {
                      attemptsMade: string;
                      jobId: string;
                  }
                  • attemptsMade: string
                  • jobId: string
                • id: string

                Returns void

            stalled: ((args, id) => void)

            Listen to 'stalled' event.

            +

            Parameters

            • args: {
                  attemptsMade: string;
                  jobId: string;
              }
              • attemptsMade: string
              • jobId: string
            • id: string

            Returns void

            stalled: ((args, id) => void)

            Listen to 'stalled' event.

            This event is triggered when a job has been moved from 'active' back to 'waiting'/'failed' due to the processor not being able to renew the lock on the said job.

            @@ -108,12 +108,12 @@

            This event is triggered when a job has been moved from 'active' back to 'waiting'/'failed' due to the processor not being able to renew the lock on the said job.

            -

            Parameters

            • args: {
                  jobId: string;
              }
              • jobId: string
            • id: string

            Returns void

            waiting: ((args, id) => void)

            Listen to 'waiting' event.

            +

            Parameters

            • args: {
                  jobId: string;
              }
              • jobId: string
            • id: string

            Returns void

            waiting: ((args, id) => void)

            Listen to 'waiting' event.

            This event is triggered when a job enters the 'waiting' state.

            Type declaration

              • (args, id): void
              • Listen to 'waiting' event.

                This event is triggered when a job enters the 'waiting' state.

                -

                Parameters

                • args: {
                      jobId: string;
                      prev?: string;
                  }
                  • jobId: string
                  • Optional prev?: string
                • id: string

                Returns void

            waiting-children: ((args, id) => void)

            Listen to 'waiting-children' event.

            +

            Parameters

            • args: {
                  jobId: string;
                  prev?: string;
              }
              • jobId: string
              • Optional prev?: string
            • id: string

            Returns void

            waiting-children: ((args, id) => void)

            Listen to 'waiting-children' event.

            This event is triggered when a job enters the 'waiting-children' state.

            Type declaration

              • (args, id): void
              • Listen to 'waiting-children' event.

                This event is triggered when a job enters the 'waiting-children' state.

                -

                Parameters

                • args: {
                      jobId: string;
                  }
                  • jobId: string
                • id: string

                Returns void

            Generated using TypeDoc

            \ No newline at end of file +

            Parameters

            Returns void

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.QueueEventsOptions.html b/interfaces/v5.QueueEventsOptions.html index a880b5d98a..40b968268d 100644 --- a/interfaces/v5.QueueEventsOptions.html +++ b/interfaces/v5.QueueEventsOptions.html @@ -1,5 +1,5 @@ QueueEventsOptions | bullmq - v5.31.2

            Interface QueueEventsOptions

            Options for QueueEvents

            -
            interface QueueEventsOptions {
                autorun?: boolean;
                blockingConnection?: boolean;
                blockingTimeout?: number;
                connection: ConnectionOptions;
                lastEventId?: string;
                prefix?: string;
                skipVersionCheck?: boolean;
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            interface QueueEventsOptions {
                autorun?: boolean;
                blockingConnection?: boolean;
                blockingTimeout?: number;
                connection: ConnectionOptions;
                lastEventId?: string;
                prefix?: string;
                skipVersionCheck?: boolean;
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            autorun?: boolean

            Condition to start listening to events at instance creation.

            -
            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            -

            Deprecated

            blockingTimeout?: number

            Timeout for the blocking XREAD call to the events stream.

            -
            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            -
            lastEventId?: string

            Last event Id. If provided it is possible to continue +

            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            +

            Deprecated

            blockingTimeout?: number

            Timeout for the blocking XREAD call to the events stream.

            +
            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            +
            lastEventId?: string

            Last event Id. If provided it is possible to continue consuming events from a known Id instead of from the last produced event.

            -
            prefix?: string

            Prefix for all queue keys.

            -
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            +
            prefix?: string

            Prefix for all queue keys.

            +
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            Default Value

            false
             
            -
            telemetry?: Telemetry<any>

            Telemetry client

            -

            Generated using TypeDoc

            \ No newline at end of file +
            telemetry?: Telemetry<any>

            Telemetry client

            +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.QueueListener.html b/interfaces/v5.QueueListener.html index 53b3be5916..03617f296a 100644 --- a/interfaces/v5.QueueListener.html +++ b/interfaces/v5.QueueListener.html @@ -1,4 +1,4 @@ -QueueListener | bullmq - v5.31.2

            Interface QueueListener<JobBase>

            interface QueueListener<JobBase> {
                cleaned: ((jobs, type) => void);
                error: ((err) => void);
                ioredis:close: (() => void);
                paused: (() => void);
                progress: ((job, progress) => void);
                removed: ((job) => void);
                resumed: (() => void);
                waiting: ((job) => void);
            }

            Type Parameters

            Hierarchy (view full)

            Properties

            cleaned +QueueListener | bullmq - v5.31.2

            Interface QueueListener<JobBase>

            interface QueueListener<JobBase> {
                cleaned: ((jobs, type) => void);
                error: ((err) => void);
                ioredis:close: (() => void);
                paused: (() => void);
                progress: ((job, progress) => void);
                removed: ((job) => void);
                resumed: (() => void);
                waiting: ((job) => void);
            }

            Type Parameters

            Hierarchy (view full)

            Properties

            cleaned error ioredis:close paused @@ -10,32 +10,32 @@

            This event is triggered when the queue calls clean method.

            Type declaration

              • (jobs, type): void
              • Listen to 'cleaned' event.

                This event is triggered when the queue calls clean method.

                -

                Parameters

                • jobs: string[]
                • type: string

                Returns void

            error: ((err) => void)

            Listen to 'error' event.

            +

            Parameters

            • jobs: string[]
            • type: string

            Returns void

            error: ((err) => void)

            Listen to 'error' event.

            This event is triggered when an error is thrown.

            Type declaration

              • (err): void
              • Listen to 'error' event.

                This event is triggered when an error is thrown.

                -

                Parameters

                • err: Error

                Returns void

            ioredis:close: (() => void)

            Listen to 'ioredis:close' event.

            +

            Parameters

            • err: Error

            Returns void

            ioredis:close: (() => void)

            Listen to 'ioredis:close' event.

            This event is triggered when ioredis is closed.

            Type declaration

              • (): void
              • Listen to 'ioredis:close' event.

                This event is triggered when ioredis is closed.

                -

                Returns void

            paused: (() => void)

            Listen to 'paused' event.

            +

            Returns void

            paused: (() => void)

            Listen to 'paused' event.

            This event is triggered when the queue is paused.

            Type declaration

              • (): void
              • Listen to 'paused' event.

                This event is triggered when the queue is paused.

                -

                Returns void

            progress: ((job, progress) => void)

            Listen to 'progress' event.

            +

            Returns void

            progress: ((job, progress) => void)

            Listen to 'progress' event.

            This event is triggered when the job updates its progress.

            Type declaration

              • (job, progress): void
              • Listen to 'progress' event.

                This event is triggered when the job updates its progress.

                -

                Parameters

                • job: JobBase
                • progress: number | object

                Returns void

            removed: ((job) => void)

            Listen to 'removed' event.

            +

            Parameters

            • job: JobBase
            • progress: number | object

            Returns void

            removed: ((job) => void)

            Listen to 'removed' event.

            This event is triggered when a job is removed.

            Type declaration

              • (job): void
              • Listen to 'removed' event.

                This event is triggered when a job is removed.

                -

                Parameters

                Returns void

            resumed: (() => void)

            Listen to 'resumed' event.

            +

            Parameters

            Returns void

            resumed: (() => void)

            Listen to 'resumed' event.

            This event is triggered when the queue is resumed.

            Type declaration

              • (): void
              • Listen to 'resumed' event.

                This event is triggered when the queue is resumed.

                -

                Returns void

            waiting: ((job) => void)

            Listen to 'waiting' event.

            +

            Returns void

            waiting: ((job) => void)

            Listen to 'waiting' event.

            This event is triggered when the queue creates a new job.

            Type declaration

              • (job): void
              • Listen to 'waiting' event.

                This event is triggered when the queue creates a new job.

                -

                Parameters

                Returns void

            Generated using TypeDoc

            \ No newline at end of file +

            Parameters

            Returns void

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.QueueOptions.html b/interfaces/v5.QueueOptions.html index 13c020bcca..66e15595a3 100644 --- a/interfaces/v5.QueueOptions.html +++ b/interfaces/v5.QueueOptions.html @@ -1,5 +1,5 @@ QueueOptions | bullmq - v5.31.2

            Interface QueueOptions

            Options for the Queue class.

            -
            interface QueueOptions {
                blockingConnection?: boolean;
                connection: ConnectionOptions;
                defaultJobOptions?: DefaultJobOptions;
                prefix?: string;
                settings?: AdvancedRepeatOptions;
                skipMetasUpdate?: boolean;
                skipVersionCheck?: boolean;
                streams?: {
                    events: {
                        maxLen: number;
                    };
                };
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            interface QueueOptions {
                blockingConnection?: boolean;
                connection: ConnectionOptions;
                defaultJobOptions?: DefaultJobOptions;
                prefix?: string;
                settings?: AdvancedRepeatOptions;
                skipMetasUpdate?: boolean;
                skipVersionCheck?: boolean;
                streams?: {
                    events: {
                        maxLen: number;
                    };
                };
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            -

            Deprecated

            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            -
            defaultJobOptions?: DefaultJobOptions
            prefix?: string

            Prefix for all queue keys.

            -

            Advanced options for the repeatable jobs.

            -
            skipMetasUpdate?: boolean

            Skip Meta update.

            +

            Deprecated

            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            +
            defaultJobOptions?: DefaultJobOptions
            prefix?: string

            Prefix for all queue keys.

            +

            Advanced options for the repeatable jobs.

            +
            skipMetasUpdate?: boolean

            Skip Meta update.

            If true, the queue will not update the metadata of the queue. Useful for read-only systems that do should not update the metadata.

            Default Value

            false
             
            -
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            +
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            Default Value

            false
             
            -
            streams?: {
                events: {
                    maxLen: number;
                };
            }

            Options for the streams used internally in BullMQ.

            +
            streams?: {
                events: {
                    maxLen: number;
                };
            }

            Options for the streams used internally in BullMQ.

            Type declaration

            • events: {
                  maxLen: number;
              }

              Options for the events stream.

              • maxLen: number

                Max approximated length for streams. Default is 10 000 events.

                -
            telemetry?: Telemetry<any>

            Telemetry client

            -

            Generated using TypeDoc

            \ No newline at end of file +
            telemetry?: Telemetry<any>

            Telemetry client

            +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.RateLimiterOptions.html b/interfaces/v5.RateLimiterOptions.html index ea03abb773..c00418983b 100644 --- a/interfaces/v5.RateLimiterOptions.html +++ b/interfaces/v5.RateLimiterOptions.html @@ -1,7 +1,7 @@ -RateLimiterOptions | bullmq - v5.31.2

            Interface RateLimiterOptions

            interface RateLimiterOptions {
                duration: number;
                max: number;
            }

            Properties

            duration +RateLimiterOptions | bullmq - v5.31.2

            Interface RateLimiterOptions

            interface RateLimiterOptions {
                duration: number;
                max: number;
            }

            Properties

            Properties

            duration: number

            Time in milliseconds. During this time, a maximum of max jobs will be processed.

            -
            max: number

            Max number of jobs to process in the time period +

            max: number

            Max number of jobs to process in the time period specified in duration.

            -

            Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.RawCommand.html b/interfaces/v5.RawCommand.html index b65afa712c..bd7b08d149 100644 --- a/interfaces/v5.RawCommand.html +++ b/interfaces/v5.RawCommand.html @@ -1,4 +1,4 @@ -RawCommand | bullmq - v5.31.2

            Interface RawCommand

            interface RawCommand {
                content: string;
                keys: number;
                name: string;
            }

            Properties

            content +RawCommand | bullmq - v5.31.2

            Interface RawCommand

            interface RawCommand {
                content: string;
                keys: number;
                name: string;
            }

            Properties

            Properties

            content: string
            keys: number
            name: string

            Generated using TypeDoc

            \ No newline at end of file +

            Properties

            content: string
            keys: number
            name: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.RepeatBaseOptions.html b/interfaces/v5.RepeatBaseOptions.html index 073c01e037..7147a7a6c5 100644 --- a/interfaces/v5.RepeatBaseOptions.html +++ b/interfaces/v5.RepeatBaseOptions.html @@ -1,15 +1,15 @@ RepeatBaseOptions | bullmq - v5.31.2

            Interface RepeatBaseOptions

            Options for the Repeat class.

            -
            interface RepeatBaseOptions {
                blockingConnection?: boolean;
                connection: ConnectionOptions;
                prefix?: string;
                settings?: AdvancedRepeatOptions;
                skipVersionCheck?: boolean;
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            interface RepeatBaseOptions {
                blockingConnection?: boolean;
                connection: ConnectionOptions;
                prefix?: string;
                settings?: AdvancedRepeatOptions;
                skipVersionCheck?: boolean;
                telemetry?: Telemetry<any>;
            }

            Hierarchy (view full)

            Properties

            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            -

            Deprecated

            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            -
            prefix?: string

            Prefix for all queue keys.

            -
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            +

            Deprecated

            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            +
            prefix?: string

            Prefix for all queue keys.

            +
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            Default Value

            false
             
            -
            telemetry?: Telemetry<any>

            Telemetry client

            -

            Generated using TypeDoc

            \ No newline at end of file +
            telemetry?: Telemetry<any>

            Telemetry client

            +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.RepeatOptions.html b/interfaces/v5.RepeatOptions.html index 5c414e19f9..686af29991 100644 --- a/interfaces/v5.RepeatOptions.html +++ b/interfaces/v5.RepeatOptions.html @@ -1,6 +1,6 @@ RepeatOptions | bullmq - v5.31.2

            Interface RepeatOptions

            Settings for repeatable jobs

            interface RepeatOptions {
                count?: number;
                every?: number;
                immediately?: boolean;
                jobId?: string;
                key?: string;
                limit?: number;
                offset?: number;
                pattern?: string;
                prevMillis?: number;
            }

            Hierarchy

            • Omit<ParserOptions, "iterator">
              • RepeatOptions

            Properties

            interface RepeatOptions {
                count?: number;
                every?: number;
                immediately?: boolean;
                jobId?: string;
                key?: string;
                limit?: number;
                offset?: number;
                pattern?: string;
                prevMillis?: number;
            }

            Hierarchy

            • Omit<ParserOptions, "iterator">
              • RepeatOptions

            Properties

            Properties

            count?: number

            The start value for the repeat iteration count.

            -
            every?: number

            Repeat after this amount of milliseconds +

            every?: number

            Repeat after this amount of milliseconds (pattern setting cannot be used together with this setting.)

            -
            immediately?: boolean

            Repeated job should start right now +

            immediately?: boolean

            Repeated job should start right now ( work only with every settings)

            -
            jobId?: string

            Internal property to store de job id

            -

            Deprecated

            key?: string

            Custom repeatable key. This is the key that holds the "metadata" +

            jobId?: string

            Internal property to store de job id

            +

            Deprecated

            key?: string

            Custom repeatable key. This is the key that holds the "metadata" of a given repeatable job. This key is normally auto-generated but it is sometimes useful to specify a custom key for easier retrieval of repeatable jobs.

            -
            limit?: number

            Number of times the job should repeat at max.

            -
            offset?: number

            Internal property to store the offset to apply to the next iteration.

            -

            Deprecated

            pattern?: string

            A repeat pattern

            -
            prevMillis?: number

            Internal property to store the previous time the job was executed.

            -

            Generated using TypeDoc

            \ No newline at end of file +
            limit?: number

            Number of times the job should repeat at max.

            +
            offset?: number

            Internal property to store the offset to apply to the next iteration.

            +

            Deprecated

            pattern?: string

            A repeat pattern

            +
            prevMillis?: number

            Internal property to store the previous time the job was executed.

            +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.SandboxedJob.html b/interfaces/v5.SandboxedJob.html index cf011c5605..d9108872e9 100644 --- a/interfaces/v5.SandboxedJob.html +++ b/interfaces/v5.SandboxedJob.html @@ -1,5 +1,5 @@ SandboxedJob | bullmq - v5.31.2

            Interface SandboxedJob<T, R>

            interface SandboxedJob<T, R> {
                attemptsMade: number;
                attemptsStarted: number;
                data: T;
                debounceId?: string;
                deduplicationId?: string;
                failedReason: string;
                finishedOn?: number;
                id: string;
                log: ((row) => void);
                moveToDelayed: ((timestamp, token?) => Promise<void>);
                name: string;
                opts: JobsOptions;
                parent?: ParentKeys;
                parentKey?: string;
                prefix: string;
                processedBy?: string;
                processedOn?: number;
                progress: number | object;
                queueName: string;
                repeatJobKey?: string;
                returnValue: R;
                returnvalue: string;
                stacktrace: string;
                timestamp: number;
                updateData: ((data) => Promise<void>);
                updateProgress: ((value) => Promise<void>);
            }

            Type Parameters

            • T = any
            • R = any

            Hierarchy

            Properties

            interface SandboxedJob<T, R> {
                attemptsMade: number;
                attemptsStarted: number;
                data: T;
                debounceId?: string;
                deduplicationId?: string;
                failedReason: string;
                finishedOn?: number;
                id: string;
                log: ((row) => void);
                moveToDelayed: ((timestamp, token?) => Promise<void>);
                name: string;
                opts: JobsOptions;
                parent?: ParentKeys;
                parentKey?: string;
                prefix: string;
                processedBy?: string;
                processedOn?: number;
                progress: number | object;
                queueName: string;
                repeatJobKey?: string;
                returnValue: R;
                returnvalue: string;
                stacktrace: string;
                timestamp: number;
                updateData: ((data) => Promise<void>);
                updateProgress: ((value) => Promise<void>);
            }

            Type Parameters

            • T = any
            • R = any

            Hierarchy

            Properties

            attemptsMade: number
            attemptsStarted: number
            data: T
            debounceId?: string
            deduplicationId?: string
            failedReason: string
            finishedOn?: number
            id: string
            log: ((row) => void)

            Type declaration

              • (row): void
              • Parameters

                • row: any

                Returns void

            moveToDelayed: ((timestamp, token?) => Promise<void>)

            Type declaration

              • (timestamp, token?): Promise<void>
              • Parameters

                • timestamp: number
                • Optional token: string

                Returns Promise<void>

            name: string
            parent?: ParentKeys
            parentKey?: string
            prefix: string
            processedBy?: string
            processedOn?: number
            progress: number | object
            queueName: string
            repeatJobKey?: string
            returnValue: R
            returnvalue: string
            stacktrace: string
            timestamp: number
            updateData: ((data) => Promise<void>)

            Type declaration

              • (data): Promise<void>
              • Parameters

                • data: any

                Returns Promise<void>

            updateProgress: ((value) => Promise<void>)

            Type declaration

              • (value): Promise<void>
              • Parameters

                • value: number | object

                Returns Promise<void>

            Generated using TypeDoc

            \ No newline at end of file +

            Properties

            attemptsMade: number
            attemptsStarted: number
            data: T
            debounceId?: string
            deduplicationId?: string
            failedReason: string
            finishedOn?: number
            id: string
            log: ((row) => void)

            Type declaration

              • (row): void
              • Parameters

                • row: any

                Returns void

            moveToDelayed: ((timestamp, token?) => Promise<void>)

            Type declaration

              • (timestamp, token?): Promise<void>
              • Parameters

                • timestamp: number
                • Optional token: string

                Returns Promise<void>

            name: string
            parent?: ParentKeys
            parentKey?: string
            prefix: string
            processedBy?: string
            processedOn?: number
            progress: number | object
            queueName: string
            repeatJobKey?: string
            returnValue: R
            returnvalue: string
            stacktrace: string
            timestamp: number
            updateData: ((data) => Promise<void>)

            Type declaration

              • (data): Promise<void>
              • Parameters

                • data: any

                Returns Promise<void>

            updateProgress: ((value) => Promise<void>)

            Type declaration

              • (value): Promise<void>
              • Parameters

                • value: number | object

                Returns Promise<void>

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.SandboxedOptions.html b/interfaces/v5.SandboxedOptions.html index 4c329696e8..f2c74e303b 100644 --- a/interfaces/v5.SandboxedOptions.html +++ b/interfaces/v5.SandboxedOptions.html @@ -1,4 +1,4 @@ -SandboxedOptions | bullmq - v5.31.2

            Interface SandboxedOptions

            interface SandboxedOptions {
                useWorkerThreads?: boolean;
                workerForkOptions?: ForkOptions;
                workerThreadsOptions?: WorkerOptions;
            }

            Hierarchy (view full)

            Properties

            useWorkerThreads? +SandboxedOptions | bullmq - v5.31.2

            Interface SandboxedOptions

            interface SandboxedOptions {
                useWorkerThreads?: boolean;
                workerForkOptions?: ForkOptions;
                workerThreadsOptions?: WorkerOptions;
            }

            Hierarchy (view full)

            Properties

            useWorkerThreads?: boolean

            Use Worker Threads instead of Child Processes. @@ -6,12 +6,12 @@ a file for the processor argument.

            Default

            false
             
            -
            workerForkOptions?: ForkOptions

            Support passing Worker Fork Options. +

            workerForkOptions?: ForkOptions

            Support passing Worker Fork Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as false (default value).

            workerThreadsOptions?: WorkerOptions

            Support passing Worker Threads Options. +

            workerThreadsOptions?: WorkerOptions

            Support passing Worker Threads Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as true.

            Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.Span.html b/interfaces/v5.Span.html index 7aa2a27587..fe13444971 100644 --- a/interfaces/v5.Span.html +++ b/interfaces/v5.Span.html @@ -1,16 +1,16 @@ Span | bullmq - v5.31.2

            Interface Span<Context>

            Span interface

            -
            interface Span<Context> {
                addEvent(name, attributes?): void;
                end(): void;
                recordException(exception, time?): void;
                setAttribute(key, value): void;
                setAttributes(attributes): void;
                setSpanOnContext(ctx): Context;
            }

            Type Parameters

            • Context = any

            Methods

            interface Span<Context> {
                addEvent(name, attributes?): void;
                end(): void;
                recordException(exception, time?): void;
                setAttribute(key, value): void;
                setAttributes(attributes): void;
                setSpanOnContext(ctx): Context;
            }

            Type Parameters

            • Context = any

            Methods

            • end ends the span.

              Note: spans must be ended so that they can be exported.

              -

              Returns void

            Generated using TypeDoc

            \ No newline at end of file +

            Parameters

            Returns Context

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.SpanOptions.html b/interfaces/v5.SpanOptions.html index f3e31e2a27..54c00aca85 100644 --- a/interfaces/v5.SpanOptions.html +++ b/interfaces/v5.SpanOptions.html @@ -1,2 +1,2 @@ -SpanOptions | bullmq - v5.31.2

            Interface SpanOptions

            interface SpanOptions {
                kind: SpanKind;
            }

            Properties

            Properties

            kind: SpanKind

            Generated using TypeDoc

            \ No newline at end of file +SpanOptions | bullmq - v5.31.2

            Interface SpanOptions

            interface SpanOptions {
                kind: SpanKind;
            }

            Properties

            Properties

            kind: SpanKind

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.Telemetry.html b/interfaces/v5.Telemetry.html index 384684dd61..1fcf905896 100644 --- a/interfaces/v5.Telemetry.html +++ b/interfaces/v5.Telemetry.html @@ -2,12 +2,12 @@

            This interface allows third-party libraries to integrate their own telemetry system. The interface is heavily inspired by OpenTelemetry but it's not limited to it.

            -
            interface Telemetry<Context> {
                contextManager: ContextManager<any>;
                tracer: Tracer<Context>;
            }

            Type Parameters

            Properties

            interface Telemetry<Context> {
                contextManager: ContextManager<any>;
                tracer: Tracer<Context>;
            }

            Type Parameters

            • Context = any

            Properties

            contextManager: ContextManager<any>

            Context manager instance

            The context manager is responsible for managing the context and propagating it across the application.

            -
            tracer: Tracer<Context>

            Tracer instance

            +
            tracer: Tracer<Context>

            Tracer instance

            The tracer is responsible for creating spans and propagating the context across the application.

            -

            Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.Tracer.html b/interfaces/v5.Tracer.html index 6719caf8fa..91f64a7f33 100644 --- a/interfaces/v5.Tracer.html +++ b/interfaces/v5.Tracer.html @@ -1,6 +1,6 @@ Tracer | bullmq - v5.31.2

            Interface Tracer<Context>

            Tracer interface

            -
            interface Tracer<Context> {
                startSpan(name, options?, context?): Span<any>;
            }

            Type Parameters

            • Context = any

            Methods

            interface Tracer<Context> {
                startSpan(name, options?, context?): Span<any>;
            }

            Type Parameters

            • Context = any

            Methods

            Methods

            • startSpan creates a new Span with the given name and options on an optional context. If the context is not provided, the current active context should be used.

              -

              Parameters

              Returns Span<any>

            Generated using TypeDoc

            \ No newline at end of file +

            Parameters

            Returns Span<any>

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.WorkerListener.html b/interfaces/v5.WorkerListener.html index 2656fb509b..b6182e4cc9 100644 --- a/interfaces/v5.WorkerListener.html +++ b/interfaces/v5.WorkerListener.html @@ -1,4 +1,4 @@ -WorkerListener | bullmq - v5.31.2

            Interface WorkerListener<DataType, ResultType, NameType>

            interface WorkerListener<DataType, ResultType, NameType> {
                active: ((job, prev) => void);
                closed: (() => void);
                closing: ((msg) => void);
                completed: ((job, result, prev) => void);
                drained: (() => void);
                error: ((failedReason) => void);
                failed: ((job, error, prev) => void);
                ioredis:close: (() => void);
                paused: (() => void);
                progress: ((job, progress) => void);
                ready: (() => void);
                resumed: (() => void);
                stalled: ((jobId, prev) => void);
            }

            Type Parameters

            • DataType = any
            • ResultType = any
            • NameType extends string = string

            Hierarchy (view full)

            Properties

            active +WorkerListener | bullmq - v5.31.2

            Interface WorkerListener<DataType, ResultType, NameType>

            interface WorkerListener<DataType, ResultType, NameType> {
                active: ((job, prev) => void);
                closed: (() => void);
                closing: ((msg) => void);
                completed: ((job, result, prev) => void);
                drained: (() => void);
                error: ((failedReason) => void);
                failed: ((job, error, prev) => void);
                ioredis:close: (() => void);
                paused: (() => void);
                progress: ((job, progress) => void);
                ready: (() => void);
                resumed: (() => void);
                stalled: ((jobId, prev) => void);
            }

            Type Parameters

            • DataType = any
            • ResultType = any
            • NameType extends string = string

            Hierarchy (view full)

            Properties

            active closed closing completed @@ -15,19 +15,19 @@

            This event is triggered when a job enters the 'active' state.

            Type declaration

              • (job, prev): void
              • Listen to 'active' event.

                This event is triggered when a job enters the 'active' state.

                -

                Parameters

                Returns void

            closed: (() => void)

            Listen to 'closing' event.

            +

            Parameters

            Returns void

            closed: (() => void)

            Listen to 'closing' event.

            This event is triggered when the worker is closed.

            Type declaration

              • (): void
              • Listen to 'closing' event.

                This event is triggered when the worker is closed.

                -

                Returns void

            closing: ((msg) => void)

            Listen to 'closing' event.

            +

            Returns void

            closing: ((msg) => void)

            Listen to 'closing' event.

            This event is triggered when the worker is closing.

            Type declaration

              • (msg): void
              • Listen to 'closing' event.

                This event is triggered when the worker is closing.

                -

                Parameters

                • msg: string

                Returns void

            completed: ((job, result, prev) => void)

            Listen to 'completed' event.

            +

            Parameters

            • msg: string

            Returns void

            completed: ((job, result, prev) => void)

            Listen to 'completed' event.

            This event is triggered when a job has successfully completed.

            Type declaration

              • (job, result, prev): void
              • Listen to 'completed' event.

                This event is triggered when a job has successfully completed.

                -

                Parameters

                Returns void

            drained: (() => void)

            Listen to 'drained' event.

            +

            Parameters

            Returns void

            drained: (() => void)

            Listen to 'drained' event.

            This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied.

            @@ -35,11 +35,11 @@

            This event is triggered when the queue has drained the waiting list. Note that there could still be delayed jobs waiting their timers to expire and this event will still be triggered as long as the waiting list has emptied.

            -

            Returns void

            error: ((failedReason) => void)

            Listen to 'error' event.

            +

            Returns void

            error: ((failedReason) => void)

            Listen to 'error' event.

            This event is triggered when an error is throw.

            Type declaration

              • (failedReason): void
              • Listen to 'error' event.

                This event is triggered when an error is throw.

                -

                Parameters

                • failedReason: Error

                Returns void

            failed: ((job, error, prev) => void)

            Listen to 'failed' event.

            +

            Parameters

            • failedReason: Error

            Returns void

            failed: ((job, error, prev) => void)

            Listen to 'failed' event.

            This event is triggered when a job has thrown an exception. Note: job parameter could be received as undefined when an stalled job reaches the stalled limit and it is deleted by the removeOnFail option.

            @@ -47,15 +47,15 @@

            This event is triggered when a job has thrown an exception. Note: job parameter could be received as undefined when an stalled job reaches the stalled limit and it is deleted by the removeOnFail option.

            -

            Parameters

            Returns void

            ioredis:close: (() => void)

            Listen to 'ioredis:close' event.

            +

            Parameters

            Returns void

            ioredis:close: (() => void)

            Listen to 'ioredis:close' event.

            This event is triggered when ioredis is closed.

            Type declaration

              • (): void
              • Listen to 'ioredis:close' event.

                This event is triggered when ioredis is closed.

                -

                Returns void

            paused: (() => void)

            Listen to 'paused' event.

            +

            Returns void

            paused: (() => void)

            Listen to 'paused' event.

            This event is triggered when the queue is paused.

            Type declaration

              • (): void
              • Listen to 'paused' event.

                This event is triggered when the queue is paused.

                -

                Returns void

            progress: ((job, progress) => void)

            Listen to 'progress' event.

            +

            Returns void

            progress: ((job, progress) => void)

            Listen to 'progress' event.

            This event is triggered when a job updates it progress, i.e. the Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the @@ -65,18 +65,18 @@ Job##updateProgress() method is called. This is useful to notify progress or any other data from within a processor to the rest of the world.

            -

            Parameters

            Returns void

            ready: (() => void)

            Listen to 'ready' event.

            +

            Parameters

            Returns void

            ready: (() => void)

            Listen to 'ready' event.

            This event is triggered when blockingConnection is ready.

            Type declaration

              • (): void
              • Listen to 'ready' event.

                This event is triggered when blockingConnection is ready.

                -

                Returns void

            resumed: (() => void)

            Listen to 'resumed' event.

            +

            Returns void

            resumed: (() => void)

            Listen to 'resumed' event.

            This event is triggered when the queue is resumed.

            Type declaration

              • (): void
              • Listen to 'resumed' event.

                This event is triggered when the queue is resumed.

                -

                Returns void

            stalled: ((jobId, prev) => void)

            Listen to 'stalled' event.

            +

            Returns void

            stalled: ((jobId, prev) => void)

            Listen to 'stalled' event.

            This event is triggered when a job has stalled and has been moved back to the wait list.

            Type declaration

              • (jobId, prev): void
              • Listen to 'stalled' event.

                This event is triggered when a job has stalled and has been moved back to the wait list.

                -

                Parameters

                • jobId: string
                • prev: string

                Returns void

            Generated using TypeDoc

            \ No newline at end of file +

            Parameters

            Returns void

            Generated using TypeDoc

            \ No newline at end of file diff --git a/interfaces/v5.WorkerOptions.html b/interfaces/v5.WorkerOptions.html index 493e080b05..1905056b77 100644 --- a/interfaces/v5.WorkerOptions.html +++ b/interfaces/v5.WorkerOptions.html @@ -1,5 +1,5 @@ WorkerOptions | bullmq - v5.31.2

            Interface WorkerOptions

            Base Queue options

            -
            interface WorkerOptions {
                autorun?: boolean;
                blockingConnection?: boolean;
                concurrency?: number;
                connection: ConnectionOptions;
                drainDelay?: number;
                limiter?: RateLimiterOptions;
                lockDuration?: number;
                lockRenewTime?: number;
                maxStalledCount?: number;
                metrics?: MetricsOptions;
                name?: string;
                prefix?: string;
                removeOnComplete?: KeepJobs;
                removeOnFail?: KeepJobs;
                runRetryDelay?: number;
                settings?: AdvancedOptions;
                skipLockRenewal?: boolean;
                skipStalledCheck?: boolean;
                skipVersionCheck?: boolean;
                stalledInterval?: number;
                telemetry?: Telemetry<any>;
                useWorkerThreads?: boolean;
                workerForkOptions?: ForkOptions;
                workerThreadsOptions?: WorkerOptions;
            }

            Hierarchy (view full)

            Properties

            interface WorkerOptions {
                autorun?: boolean;
                blockingConnection?: boolean;
                concurrency?: number;
                connection: ConnectionOptions;
                drainDelay?: number;
                limiter?: RateLimiterOptions;
                lockDuration?: number;
                lockRenewTime?: number;
                maxStalledCount?: number;
                metrics?: MetricsOptions;
                name?: string;
                prefix?: string;
                removeOnComplete?: KeepJobs;
                removeOnFail?: KeepJobs;
                runRetryDelay?: number;
                settings?: AdvancedOptions;
                skipLockRenewal?: boolean;
                skipStalledCheck?: boolean;
                skipVersionCheck?: boolean;
                stalledInterval?: number;
                telemetry?: Telemetry<any>;
                useWorkerThreads?: boolean;
                workerForkOptions?: ForkOptions;
                workerThreadsOptions?: WorkerOptions;
            }

            Hierarchy (view full)

            Properties

            Properties

            autorun?: boolean

            Condition to start processor at instance creation.

            Default

            true
             
            -
            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            -

            Deprecated

            concurrency?: number

            Amount of jobs that a single worker is allowed to work on +

            blockingConnection?: boolean

            Denotes commands should retry indefinitely.

            +

            Deprecated

            concurrency?: number

            Amount of jobs that a single worker is allowed to work on in parallel.

            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            -
            drainDelay?: number

            Number of seconds to long poll for jobs when the queue is empty.

            +
            connection: ConnectionOptions

            Options for connecting to a Redis instance.

            +
            drainDelay?: number

            Number of seconds to long poll for jobs when the queue is empty.

            Default

            5
             
            -

            Enable rate limiter

            +

            Enable rate limiter

            lockDuration?: number

            Duration of the lock for the job in milliseconds. The lock represents that +

            lockDuration?: number

            Duration of the lock for the job in milliseconds. The lock represents that a worker is processing the job. If the lock is lost, the job will be eventually be picked up by the stalled checker and move back to wait so that another worker can process it again.

            Default

            30000
             
            -
            lockRenewTime?: number

            The time in milliseconds before the lock is automatically renewed.

            +
            lockRenewTime?: number

            The time in milliseconds before the lock is automatically renewed.

            It is not recommended to modify this value, which is by default set to halv the lockDuration value, which is optimal for most use cases.

            -
            maxStalledCount?: number

            Amount of times a job can be recovered from a stalled state +

            maxStalledCount?: number

            Amount of times a job can be recovered from a stalled state to the wait state. If this is exceeded, the job is moved to failed.

            Default

            1
             
            -
            metrics?: MetricsOptions

            Enable collect metrics.

            +
            metrics?: MetricsOptions

            Enable collect metrics.

            name?: string

            Optional worker name. The name will be stored on every job +

            name?: string

            Optional worker name. The name will be stored on every job processed by this worker instance, and can be used to monitor which worker is processing or has processed a given job.

            -
            prefix?: string

            Prefix for all queue keys.

            -
            removeOnComplete?: KeepJobs

            You can provide an object specifying max +

            prefix?: string

            Prefix for all queue keys.

            +
            removeOnComplete?: KeepJobs

            You can provide an object specifying max age and/or count to keep. Default behavior is to keep the job in the completed set.

            -
            removeOnFail?: KeepJobs

            You can provide an object specifying max +

            removeOnFail?: KeepJobs

            You can provide an object specifying max age and/or count to keep. Default behavior is to keep the job in the failed set.

            -
            runRetryDelay?: number

            This is an internal option that should not be modified.

            +
            runRetryDelay?: number

            This is an internal option that should not be modified.

            Default

            15000
             
            -
            settings?: AdvancedOptions

            More advanced options.

            -
            skipLockRenewal?: boolean

            Skip lock renewal for this worker. If set to true, the lock will expire +

            settings?: AdvancedOptions

            More advanced options.

            +
            skipLockRenewal?: boolean

            Skip lock renewal for this worker. If set to true, the lock will expire after lockDuration and moved back to the wait queue (if the stalled check is not disabled)

            Default

            false
             
            -
            skipStalledCheck?: boolean

            Skip stalled check for this worker. Note that other workers could still +

            skipStalledCheck?: boolean

            Skip stalled check for this worker. Note that other workers could still perform stalled checkd and move jobs back to wait for jobs being processed by this worker.

            Default

            false
             
            -
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            +
            skipVersionCheck?: boolean

            Avoid version validation to be greater or equal than v5.0.0.

            Default Value

            false
             
            -
            stalledInterval?: number

            Number of milliseconds between stallness checks.

            +
            stalledInterval?: number

            Number of milliseconds between stallness checks.

            Default

            30000
             
            -
            telemetry?: Telemetry<any>

            Telemetry Addon

            -
            useWorkerThreads?: boolean

            Use Worker Threads instead of Child Processes. +

            telemetry?: Telemetry<any>

            Telemetry Addon

            +
            useWorkerThreads?: boolean

            Use Worker Threads instead of Child Processes. Note: This option can only be used when specifying a file for the processor argument.

            Default

            false
             
            -
            workerForkOptions?: ForkOptions

            Support passing Worker Fork Options. +

            workerForkOptions?: ForkOptions

            Support passing Worker Fork Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as false (default value).

            workerThreadsOptions?: WorkerOptions

            Support passing Worker Threads Options. +

            workerThreadsOptions?: WorkerOptions

            Support passing Worker Threads Options. Note: This option can only be used when specifying a file for the processor argument and useWorkerThreads is passed as true.

            Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.AttributeValue.html b/types/v5.AttributeValue.html index eed06b6855..f3247f7d33 100644 --- a/types/v5.AttributeValue.html +++ b/types/v5.AttributeValue.html @@ -1 +1 @@ -AttributeValue | bullmq - v5.31.2

            Type alias AttributeValue

            AttributeValue: string | number | boolean | (null | undefined | string)[] | (null | undefined | number)[] | (null | undefined | boolean)[]

            Generated using TypeDoc

            \ No newline at end of file +AttributeValue | bullmq - v5.31.2

            Type alias AttributeValue

            AttributeValue: string | number | boolean | (null | undefined | string)[] | (null | undefined | number)[] | (null | undefined | boolean)[]

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.BackoffStrategy.html b/types/v5.BackoffStrategy.html index c4ac12d7d3..2b70d574da 100644 --- a/types/v5.BackoffStrategy.html +++ b/types/v5.BackoffStrategy.html @@ -1 +1 @@ -BackoffStrategy | bullmq - v5.31.2

            Type alias BackoffStrategy

            BackoffStrategy: ((attemptsMade, type?, err?, job?) => Promise<number> | number)

            Type declaration

              • (attemptsMade, type?, err?, job?): Promise<number> | number
              • Parameters

                • attemptsMade: number
                • Optional type: string
                • Optional err: Error
                • Optional job: MinimalJob

                Returns Promise<number> | number

            Generated using TypeDoc

            \ No newline at end of file +BackoffStrategy | bullmq - v5.31.2

            Type alias BackoffStrategy

            BackoffStrategy: ((attemptsMade, type?, err?, job?) => Promise<number> | number)

            Type declaration

              • (attemptsMade, type?, err?, job?): Promise<number> | number
              • Parameters

                • attemptsMade: number
                • Optional type: string
                • Optional err: Error
                • Optional job: MinimalJob

                Returns Promise<number> | number

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.BulkJobOptions.html b/types/v5.BulkJobOptions.html index dc907a5dfa..d6f3ea78f1 100644 --- a/types/v5.BulkJobOptions.html +++ b/types/v5.BulkJobOptions.html @@ -1 +1 @@ -BulkJobOptions | bullmq - v5.31.2

            Type alias BulkJobOptions

            BulkJobOptions: Omit<JobsOptions, "repeat">

            Generated using TypeDoc

            \ No newline at end of file +BulkJobOptions | bullmq - v5.31.2

            Type alias BulkJobOptions

            BulkJobOptions: Omit<JobsOptions, "repeat">

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.ClusterOptions.html b/types/v5.ClusterOptions.html index 126ba1ab1d..f51305d3e6 100644 --- a/types/v5.ClusterOptions.html +++ b/types/v5.ClusterOptions.html @@ -1 +1 @@ -ClusterOptions | bullmq - v5.31.2

            Type alias ClusterOptions

            ClusterOptions: IORedis.ClusterOptions & BaseOptions

            Generated using TypeDoc

            \ No newline at end of file +ClusterOptions | bullmq - v5.31.2

            Type alias ClusterOptions

            ClusterOptions: IORedis.ClusterOptions & BaseOptions

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.ConnectionOptions.html b/types/v5.ConnectionOptions.html index 7ba36e0d19..c68a1c9ede 100644 --- a/types/v5.ConnectionOptions.html +++ b/types/v5.ConnectionOptions.html @@ -1 +1 @@ -ConnectionOptions | bullmq - v5.31.2

            Type alias ConnectionOptions

            ConnectionOptions: RedisOptions | ClusterOptions | IORedis.Redis | IORedis.Cluster

            Generated using TypeDoc

            \ No newline at end of file +ConnectionOptions | bullmq - v5.31.2

            Type alias ConnectionOptions

            ConnectionOptions: RedisOptions | ClusterOptions | IORedis.Redis | IORedis.Cluster

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.EntryId.html b/types/v5.EntryId.html index 2eb4e9867e..d97b2c363a 100644 --- a/types/v5.EntryId.html +++ b/types/v5.EntryId.html @@ -1 +1 @@ -EntryId | bullmq - v5.31.2

            Type alias EntryId

            EntryId: string

            Generated using TypeDoc

            \ No newline at end of file +EntryId | bullmq - v5.31.2

            Type alias EntryId

            EntryId: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.EntryRaw.html b/types/v5.EntryRaw.html index 751870ed65..4cb6fb5613 100644 --- a/types/v5.EntryRaw.html +++ b/types/v5.EntryRaw.html @@ -1 +1 @@ -EntryRaw | bullmq - v5.31.2

            Type alias EntryRaw

            EntryRaw: [EntryId, string[]]

            Generated using TypeDoc

            \ No newline at end of file +EntryRaw | bullmq - v5.31.2

            Type alias EntryRaw

            EntryRaw: [EntryId, string[]]

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.Exception.html b/types/v5.Exception.html index ffae182876..4573b0e948 100644 --- a/types/v5.Exception.html +++ b/types/v5.Exception.html @@ -1 +1 @@ -Exception | bullmq - v5.31.2

            Type alias Exception

            Exception: string | ExceptionType

            Generated using TypeDoc

            \ No newline at end of file +Exception | bullmq - v5.31.2

            Type alias Exception

            Exception: string | ExceptionType

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.ExceptionType.html b/types/v5.ExceptionType.html index c9698c5210..c1111d303f 100644 --- a/types/v5.ExceptionType.html +++ b/types/v5.ExceptionType.html @@ -1 +1 @@ -ExceptionType | bullmq - v5.31.2

            Type alias ExceptionType

            ExceptionType: CodeException | MessageException | NameException

            Generated using TypeDoc

            \ No newline at end of file +ExceptionType | bullmq - v5.31.2

            Type alias ExceptionType

            ExceptionType: CodeException | MessageException | NameException

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.FinishedPropValAttribute.html b/types/v5.FinishedPropValAttribute.html index 31c2a6ca82..a5739f1a48 100644 --- a/types/v5.FinishedPropValAttribute.html +++ b/types/v5.FinishedPropValAttribute.html @@ -1 +1 @@ -FinishedPropValAttribute | bullmq - v5.31.2

            Type alias FinishedPropValAttribute

            FinishedPropValAttribute: "returnvalue" | "failedReason"

            Generated using TypeDoc

            \ No newline at end of file +FinishedPropValAttribute | bullmq - v5.31.2

            Type alias FinishedPropValAttribute

            FinishedPropValAttribute: "returnvalue" | "failedReason"

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.FinishedStatus.html b/types/v5.FinishedStatus.html index 2e4dbbee39..ec00d36369 100644 --- a/types/v5.FinishedStatus.html +++ b/types/v5.FinishedStatus.html @@ -1 +1 @@ -FinishedStatus | bullmq - v5.31.2

            Type alias FinishedStatus

            FinishedStatus: "completed" | "failed"

            Generated using TypeDoc

            \ No newline at end of file +FinishedStatus | bullmq - v5.31.2

            Type alias FinishedStatus

            FinishedStatus: "completed" | "failed"

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.FlowChildJob.html b/types/v5.FlowChildJob.html index bbdb375e15..8b3dc2ea32 100644 --- a/types/v5.FlowChildJob.html +++ b/types/v5.FlowChildJob.html @@ -1 +1 @@ -FlowChildJob | bullmq - v5.31.2

            Type alias FlowChildJob

            FlowChildJob: FlowJobBase<Omit<JobsOptions, "parent">>

            Generated using TypeDoc

            \ No newline at end of file +FlowChildJob | bullmq - v5.31.2

            Type alias FlowChildJob

            FlowChildJob: FlowJobBase<Omit<JobsOptions, "parent">>

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.FlowJob.html b/types/v5.FlowJob.html index 53d8c46cb6..b83741f645 100644 --- a/types/v5.FlowJob.html +++ b/types/v5.FlowJob.html @@ -1 +1 @@ -FlowJob | bullmq - v5.31.2

            Generated using TypeDoc

            \ No newline at end of file +FlowJob | bullmq - v5.31.2

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.FlowQueuesOpts.html b/types/v5.FlowQueuesOpts.html index ab87a1d7db..205e896e21 100644 --- a/types/v5.FlowQueuesOpts.html +++ b/types/v5.FlowQueuesOpts.html @@ -1 +1 @@ -FlowQueuesOpts | bullmq - v5.31.2

            Type alias FlowQueuesOpts

            FlowQueuesOpts: Record<string, Omit<QueueOptions, "connection" | "prefix">>

            Generated using TypeDoc

            \ No newline at end of file +FlowQueuesOpts | bullmq - v5.31.2

            Type alias FlowQueuesOpts

            FlowQueuesOpts: Record<string, Omit<QueueOptions, "connection" | "prefix">>

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.JobData.html b/types/v5.JobData.html index 88a9fcdd4e..372829d471 100644 --- a/types/v5.JobData.html +++ b/types/v5.JobData.html @@ -1 +1 @@ -JobData | bullmq - v5.31.2

            Type alias JobData

            JobData: [JobJsonRaw | number, string?]

            Generated using TypeDoc

            \ No newline at end of file +JobData | bullmq - v5.31.2

            Type alias JobData

            JobData: [JobJsonRaw | number, string?]

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.JobJsonSandbox.html b/types/v5.JobJsonSandbox.html index 3445d7dc0d..9ce613ec94 100644 --- a/types/v5.JobJsonSandbox.html +++ b/types/v5.JobJsonSandbox.html @@ -1 +1 @@ -JobJsonSandbox | bullmq - v5.31.2

            Type alias JobJsonSandbox

            JobJsonSandbox: JobJson & {
                prefix: string;
                queueName: string;
            }

            Type declaration

            • prefix: string
            • queueName: string

            Generated using TypeDoc

            \ No newline at end of file +JobJsonSandbox | bullmq - v5.31.2

            Type alias JobJsonSandbox

            JobJsonSandbox: JobJson & {
                prefix: string;
                queueName: string;
            }

            Type declaration

            • prefix: string
            • queueName: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.JobState.html b/types/v5.JobState.html index 94df944e8d..e5f7dbf5b6 100644 --- a/types/v5.JobState.html +++ b/types/v5.JobState.html @@ -1 +1 @@ -JobState | bullmq - v5.31.2

            Type alias JobState

            JobState: FinishedStatus | "active" | "delayed" | "prioritized" | "waiting" | "waiting-children"

            Generated using TypeDoc

            \ No newline at end of file +JobState | bullmq - v5.31.2

            Type alias JobState

            JobState: FinishedStatus | "active" | "delayed" | "prioritized" | "waiting" | "waiting-children"

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.JobType.html b/types/v5.JobType.html index 9f02df6d15..e97c8c4c62 100644 --- a/types/v5.JobType.html +++ b/types/v5.JobType.html @@ -1 +1 @@ -JobType | bullmq - v5.31.2

            Type alias JobType

            JobType: JobState | "paused" | "repeat" | "wait"

            Generated using TypeDoc

            \ No newline at end of file +JobType | bullmq - v5.31.2

            Type alias JobType

            JobType: JobState | "paused" | "repeat" | "wait"

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.JobsOptions.html b/types/v5.JobsOptions.html index 60315a2a6f..0eff494c2f 100644 --- a/types/v5.JobsOptions.html +++ b/types/v5.JobsOptions.html @@ -4,4 +4,4 @@
          • Optional failParentOnFailure?: boolean

            If true, moves parent to failed.

          • Optional ignoreDependencyOnFailure?: boolean

            If true, moves the jobId from its parent dependencies to failed dependencies when it fails after all attempts.

          • Optional removeDependencyOnFailure?: boolean

            If true, removes the job from its parent dependencies when it fails after all attempts.

            -
          • Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.KeysMap.html b/types/v5.KeysMap.html index 30469a5b62..9bd011eef3 100644 --- a/types/v5.KeysMap.html +++ b/types/v5.KeysMap.html @@ -1 +1 @@ -KeysMap | bullmq - v5.31.2

            Type alias KeysMap

            KeysMap: {
                [index in string]: string
            }

            Generated using TypeDoc

            \ No newline at end of file +KeysMap | bullmq - v5.31.2

            Type alias KeysMap

            KeysMap: {
                [index in string]: string
            }

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.MinimalQueue.html b/types/v5.MinimalQueue.html index 591552e244..ee451fe80d 100644 --- a/types/v5.MinimalQueue.html +++ b/types/v5.MinimalQueue.html @@ -1 +1 @@ -MinimalQueue | bullmq - v5.31.2

            Type alias MinimalQueue

            MinimalQueue: Pick<QueueBase, "name" | "client" | "toKey" | "keys" | "opts" | "qualifiedName" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion" | "trace">

            Generated using TypeDoc

            \ No newline at end of file +MinimalQueue | bullmq - v5.31.2

            Type alias MinimalQueue

            MinimalQueue: Pick<QueueBase, "name" | "client" | "toKey" | "keys" | "opts" | "qualifiedName" | "closing" | "waitUntilReady" | "removeListener" | "emit" | "on" | "redisVersion" | "trace">

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.ParentOpts.html b/types/v5.ParentOpts.html index 2b58434357..ba5f4e274e 100644 --- a/types/v5.ParentOpts.html +++ b/types/v5.ParentOpts.html @@ -1 +1 @@ -ParentOpts | bullmq - v5.31.2

            Type alias ParentOpts

            ParentOpts: {
                parentDependenciesKey?: string;
                parentKey?: string;
                waitChildrenKey?: string;
            }

            Type declaration

            • Optional parentDependenciesKey?: string
            • Optional parentKey?: string
            • Optional waitChildrenKey?: string

            Generated using TypeDoc

            \ No newline at end of file +ParentOpts | bullmq - v5.31.2

            Type alias ParentOpts

            ParentOpts: {
                parentDependenciesKey?: string;
                parentKey?: string;
                waitChildrenKey?: string;
            }

            Type declaration

            • Optional parentDependenciesKey?: string
            • Optional parentKey?: string
            • Optional waitChildrenKey?: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.Processor.html b/types/v5.Processor.html index 2207a8bb85..7156f17e00 100644 --- a/types/v5.Processor.html +++ b/types/v5.Processor.html @@ -1,2 +1,2 @@ Processor | bullmq - v5.31.2

            Type alias Processor<T, R, N>

            Processor<T, R, N>: ((job, token?) => Promise<R>)

            An async function that receives Jobs and handles them.

            -

            Type Parameters

            • T = any
            • R = any
            • N extends string = string

            Type declaration

              • (job, token?): Promise<R>
              • Parameters

                • job: Job<T, R, N>
                • Optional token: string

                Returns Promise<R>

            Generated using TypeDoc

            \ No newline at end of file +

            Type Parameters

            Type declaration

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RedisClient.html b/types/v5.RedisClient.html index 8b452a65ec..87e74584b5 100644 --- a/types/v5.RedisClient.html +++ b/types/v5.RedisClient.html @@ -1 +1 @@ -RedisClient | bullmq - v5.31.2

            Type alias RedisClient

            RedisClient: Redis | Cluster

            Generated using TypeDoc

            \ No newline at end of file +RedisClient | bullmq - v5.31.2

            Type alias RedisClient

            RedisClient: Redis | Cluster

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RedisJobOptions.html b/types/v5.RedisJobOptions.html index 9d8c9c951a..f097872843 100644 --- a/types/v5.RedisJobOptions.html +++ b/types/v5.RedisJobOptions.html @@ -5,4 +5,4 @@
          • Optional kl?: number

            Maximum amount of log entries that will be preserved

          • Optional rdof?: boolean

            If true, removes the job from its parent dependencies when it fails after all attempts.

          • Optional tm?: string

            TelemetryMetadata, provide for context propagation.

            -
          • Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RedisOptions.html b/types/v5.RedisOptions.html index 1ac5c5a976..98dee14bd4 100644 --- a/types/v5.RedisOptions.html +++ b/types/v5.RedisOptions.html @@ -1 +1 @@ -RedisOptions | bullmq - v5.31.2

            Type alias RedisOptions

            RedisOptions: IORedis.RedisOptions & BaseOptions

            Generated using TypeDoc

            \ No newline at end of file +RedisOptions | bullmq - v5.31.2

            Type alias RedisOptions

            RedisOptions: IORedis.RedisOptions & BaseOptions

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RepeatStrategy.html b/types/v5.RepeatStrategy.html index 5814af54ee..ebceb456d3 100644 --- a/types/v5.RepeatStrategy.html +++ b/types/v5.RepeatStrategy.html @@ -1 +1 @@ -RepeatStrategy | bullmq - v5.31.2

            Type alias RepeatStrategy

            RepeatStrategy: ((millis, opts, name?) => number | undefined | Promise<number | undefined>)

            Type declaration

              • (millis, opts, name?): number | undefined | Promise<number | undefined>
              • Parameters

                Returns number | undefined | Promise<number | undefined>

            Generated using TypeDoc

            \ No newline at end of file +RepeatStrategy | bullmq - v5.31.2

            Type alias RepeatStrategy

            RepeatStrategy: ((millis, opts, name?) => number | undefined | Promise<number | undefined>)

            Type declaration

              • (millis, opts, name?): number | undefined | Promise<number | undefined>
              • Parameters

                Returns number | undefined | Promise<number | undefined>

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RepeatableJob.html b/types/v5.RepeatableJob.html index 1def0e0a34..a5dd23db4c 100644 --- a/types/v5.RepeatableJob.html +++ b/types/v5.RepeatableJob.html @@ -1 +1 @@ -RepeatableJob | bullmq - v5.31.2

            Type alias RepeatableJob

            RepeatableJob: {
                endDate: number | null;
                every?: string | null;
                id?: string | null;
                key: string;
                name: string;
                next?: number;
                pattern: string | null;
                tz: string | null;
            }

            Type declaration

            • endDate: number | null
            • Optional every?: string | null
            • Optional id?: string | null
            • key: string
            • name: string
            • Optional next?: number
            • pattern: string | null
            • tz: string | null

            Generated using TypeDoc

            \ No newline at end of file +RepeatableJob | bullmq - v5.31.2

            Type alias RepeatableJob

            RepeatableJob: {
                endDate: number | null;
                every?: string | null;
                id?: string | null;
                key: string;
                name: string;
                next?: number;
                pattern: string | null;
                tz: string | null;
            }

            Type declaration

            • endDate: number | null
            • Optional every?: string | null
            • Optional id?: string | null
            • key: string
            • name: string
            • Optional next?: number
            • pattern: string | null
            • tz: string | null

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.RepeatableOptions.html b/types/v5.RepeatableOptions.html index 7e348a56fc..5c053b9b5e 100644 --- a/types/v5.RepeatableOptions.html +++ b/types/v5.RepeatableOptions.html @@ -1 +1 @@ -RepeatableOptions | bullmq - v5.31.2

            Type alias RepeatableOptions

            RepeatableOptions: {
                endDate?: number;
                every?: number;
                name: string;
                pattern?: string;
                tz?: string;
            }

            Type declaration

            • Optional endDate?: number
            • Optional every?: number
            • name: string
            • Optional pattern?: string
            • Optional tz?: string

            Generated using TypeDoc

            \ No newline at end of file +RepeatableOptions | bullmq - v5.31.2

            Type alias RepeatableOptions

            RepeatableOptions: {
                endDate?: number;
                every?: number;
                name: string;
                pattern?: string;
                tz?: string;
            }

            Type declaration

            • Optional endDate?: number
            • Optional every?: number
            • name: string
            • Optional pattern?: string
            • Optional tz?: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.SandboxedJobProcessor.html b/types/v5.SandboxedJobProcessor.html index d71b60ef89..77c6a3105c 100644 --- a/types/v5.SandboxedJobProcessor.html +++ b/types/v5.SandboxedJobProcessor.html @@ -1,2 +1,2 @@ SandboxedJobProcessor | bullmq - v5.31.2

            Type alias SandboxedJobProcessor<T, R>

            SandboxedJobProcessor<T, R>: ((job) => R | PromiseLike<R>) | ((job, callback) => void)

            Type Parameters

            • T = any
            • R = any

            Type declaration

            Type declaration

              • (job, callback): void
              • Parameters

                • job: SandboxedJob<T, R>
                • callback: ((error, result) => void)
                    • (error, result): void
                    • Parameters

                      • error: unknown
                      • result: R

                      Returns void

                Returns void

            Generated using TypeDoc

            \ No newline at end of file +

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.StreamName.html b/types/v5.StreamName.html index 4147caf9c5..4bfd729823 100644 --- a/types/v5.StreamName.html +++ b/types/v5.StreamName.html @@ -1 +1 @@ -StreamName | bullmq - v5.31.2

            Type alias StreamName

            StreamName: string

            Generated using TypeDoc

            \ No newline at end of file +StreamName | bullmq - v5.31.2

            Type alias StreamName

            StreamName: string

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.StreamReadRaw.html b/types/v5.StreamReadRaw.html index f3828e1e4e..b353f8f503 100644 --- a/types/v5.StreamReadRaw.html +++ b/types/v5.StreamReadRaw.html @@ -1 +1 @@ -StreamReadRaw | bullmq - v5.31.2

            Type alias StreamReadRaw

            StreamReadRaw: [StreamName, EntryRaw[]][] | null | undefined

            Generated using TypeDoc

            \ No newline at end of file +StreamReadRaw | bullmq - v5.31.2

            Type alias StreamReadRaw

            StreamReadRaw: [StreamName, EntryRaw[]][] | null | undefined

            Generated using TypeDoc

            \ No newline at end of file diff --git a/types/v5.Time.html b/types/v5.Time.html index e56df44bea..7a0c65d8d3 100644 --- a/types/v5.Time.html +++ b/types/v5.Time.html @@ -1 +1 @@ -Time | bullmq - v5.31.2

            Type alias Time

            Time: HighResolutionTime | number | Date

            Generated using TypeDoc

            \ No newline at end of file +Time | bullmq - v5.31.2

            Type alias Time

            Time: HighResolutionTime | number | Date

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.DELAY_TIME_1.html b/variables/v5.DELAY_TIME_1.html index 126ff4d60a..2ec8070505 100644 --- a/variables/v5.DELAY_TIME_1.html +++ b/variables/v5.DELAY_TIME_1.html @@ -1 +1 @@ -DELAY_TIME_1 | bullmq - v5.31.2

            Variable DELAY_TIME_1Const

            DELAY_TIME_1: 100 = 100

            Generated using TypeDoc

            \ No newline at end of file +DELAY_TIME_1 | bullmq - v5.31.2

            Variable DELAY_TIME_1Const

            DELAY_TIME_1: 100 = 100

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.DELAY_TIME_5.html b/variables/v5.DELAY_TIME_5.html index a710c50aa0..e641831b16 100644 --- a/variables/v5.DELAY_TIME_5.html +++ b/variables/v5.DELAY_TIME_5.html @@ -1 +1 @@ -DELAY_TIME_5 | bullmq - v5.31.2

            Variable DELAY_TIME_5Const

            DELAY_TIME_5: 5000 = 5000

            Generated using TypeDoc

            \ No newline at end of file +DELAY_TIME_5 | bullmq - v5.31.2

            Variable DELAY_TIME_5Const

            DELAY_TIME_5: 5000 = 5000

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.PRIORITY_LIMIT.html b/variables/v5.PRIORITY_LIMIT.html index 553e8db356..92f7efc689 100644 --- a/variables/v5.PRIORITY_LIMIT.html +++ b/variables/v5.PRIORITY_LIMIT.html @@ -1 +1 @@ -PRIORITY_LIMIT | bullmq - v5.31.2

            Variable PRIORITY_LIMITConst

            PRIORITY_LIMIT: number = ...

            Generated using TypeDoc

            \ No newline at end of file +PRIORITY_LIMIT | bullmq - v5.31.2

            Variable PRIORITY_LIMITConst

            PRIORITY_LIMIT: number = ...

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.QUEUE_EVENT_SUFFIX.html b/variables/v5.QUEUE_EVENT_SUFFIX.html index 1d0e03f91b..82d63db222 100644 --- a/variables/v5.QUEUE_EVENT_SUFFIX.html +++ b/variables/v5.QUEUE_EVENT_SUFFIX.html @@ -1 +1 @@ -QUEUE_EVENT_SUFFIX | bullmq - v5.31.2

            Variable QUEUE_EVENT_SUFFIXConst

            QUEUE_EVENT_SUFFIX: ":qe" = ':qe'

            Generated using TypeDoc

            \ No newline at end of file +QUEUE_EVENT_SUFFIX | bullmq - v5.31.2

            Variable QUEUE_EVENT_SUFFIXConst

            QUEUE_EVENT_SUFFIX: ":qe" = ':qe'

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.RATE_LIMIT_ERROR.html b/variables/v5.RATE_LIMIT_ERROR.html index 0a7d29eef7..4fa4a74fca 100644 --- a/variables/v5.RATE_LIMIT_ERROR.html +++ b/variables/v5.RATE_LIMIT_ERROR.html @@ -1 +1 @@ -RATE_LIMIT_ERROR | bullmq - v5.31.2

            Variable RATE_LIMIT_ERRORConst

            RATE_LIMIT_ERROR: "bullmq:rateLimitExceeded" = 'bullmq:rateLimitExceeded'

            Generated using TypeDoc

            \ No newline at end of file +RATE_LIMIT_ERROR | bullmq - v5.31.2

            Variable RATE_LIMIT_ERRORConst

            RATE_LIMIT_ERROR: "bullmq:rateLimitExceeded" = 'bullmq:rateLimitExceeded'

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.clientCommandMessageReg.html b/variables/v5.clientCommandMessageReg.html index 3591dc359d..12b1a7651b 100644 --- a/variables/v5.clientCommandMessageReg.html +++ b/variables/v5.clientCommandMessageReg.html @@ -1 +1 @@ -clientCommandMessageReg | bullmq - v5.31.2

            Variable clientCommandMessageRegConst

            clientCommandMessageReg: RegExp = ...

            Generated using TypeDoc

            \ No newline at end of file +clientCommandMessageReg | bullmq - v5.31.2

            Variable clientCommandMessageRegConst

            clientCommandMessageReg: RegExp = ...

            Generated using TypeDoc

            \ No newline at end of file diff --git a/variables/v5.errorObject.html b/variables/v5.errorObject.html index 7f0045baf0..708535b17e 100644 --- a/variables/v5.errorObject.html +++ b/variables/v5.errorObject.html @@ -1 +1 @@ -errorObject | bullmq - v5.31.2

            Variable errorObjectConst

            errorObject: {
                [index: string]: any;
            } = ...

            Type declaration

            • [index: string]: any

            Generated using TypeDoc

            \ No newline at end of file +errorObject | bullmq - v5.31.2

            Variable errorObjectConst

            errorObject: {
                [index: string]: any;
            } = ...

            Type declaration

            • [index: string]: any

            Generated using TypeDoc

            \ No newline at end of file