bullmq - v5.64.0
    Preparing search index...

    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 Summary)

    Index

    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) => string

    Accessors

    • get redisVersion(): string

      Returns the version of the Redis instance the client is connected to,

      Returns string

    Methods

    • Cancels all jobs currently being processed by this worker. All active job processor functions will receive abort signals.

      Parameters

      • Optionalreason: string

        Optional reason for the cancellation

      Returns void

    • Cancels a specific job currently being processed by this worker. The job's processor function will receive an abort signal.

      Parameters

      • jobId: string

        The ID of the job to cancel

      • Optionalreason: string

        Optional reason for the cancellation

      Returns boolean

      true if the job was found and cancelled, false otherwise

    • 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

      • Optionalmilliseconds: number
      • OptionalabortController: AbortController

      Returns Promise<void>

    • Public accessor method for LockManager to extend locks. This delegates to the protected scripts object.

      Parameters

      • jobIds: string[]
      • tokens: string[]
      • duration: number

      Returns Promise<string[]>

    • 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.

    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Type Parameters

      Parameters

      Returns this

      v0.1.101

    • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      });

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Type Parameters

      Parameters

      Returns this

      v0.3.0

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

      Parameters

      • OptionaldoNotWaitActive: 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>

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

    • 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 is automatically started when the worker starts processing jobs after 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.

      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?: Span, dstPropagationMetadata?: string) => T | Promise<T>

        code to wrap with telemetry

      • OptionalsrcPropagationMetadata: string

      Returns Promise<T | Promise<T>>