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

    Class Worker<T, R>

    Type Parameters

    • T = unknown
    • R = unknown

    Hierarchy

    • WorkerExecution<T, R>
      • Worker
    Index
    name: string
    opts: ExtendedWorkerOptions
    • get concurrency(): number

      Returns number

    • set concurrency(value: number): void

      As on 2.9.10 (Math.max(1, value)): values below 1 and null are clamped to 1 (documented), a fraction rounds up (the gate is active >= concurrency), Infinity removes the limit and a numeric string is that number. NaN (the gate would never close) or another non-number throws.

      Parameters

      • value: number

      Returns void

    • Parameters

      • jobId: string
      • Optionalreason: string

      Returns boolean

    • BullMQ-compatible delay(milliseconds?, abortController?). Omitted, null, 0 or a negative value resolves at once (as on 2.9.10 and in BullMQ), and a numeric string is that number; NaN, Infinity and another non-number reject. Any longer delay is honoured exactly. Aborting, or passing a controller that is already aborted, rejects with Delay aborted.

      Parameters

      • Optionalmilliseconds: number
      • OptionalabortController: AbortController

      Returns Promise<void>

    • Renew the leases of jobIds for duration ms from now. Like lockDuration, the duration must be finite and >= 1: the broker sets the expiry to now + duration, so 0 or less expires the lease and NaN or Infinity would make it never expire. As on 2.9.10, an omitted or null duration renews each lease with its own TTL, a numeric string is that number, and a closed Worker or an empty jobIds returns 0 before any check.

      Parameters

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

      Returns Promise<number>

    • Parameters

      • Optionaltoken: string
      • Optional_opts: { block?: boolean }

      Returns Promise<ManualJob<T> | undefined>

    • Returns { current: number; duration: number; max: number } | null

    • Alias for emitter.removeListener().

      Parameters

      • event: "drained" | "ready" | "closed"
      • listener: () => void

      Returns this

      v10.0.0

    • Parameters

      • event: "active"
      • listener: (job: Job<T>) => void

      Returns this

    • Parameters

      • event: "completed"
      • listener: (job: Job<T>, result: R) => void

      Returns this

    • Parameters

      • event: "failed"
      • listener: (job: Job<T>, error: Error) => void

      Returns this

    • Parameters

      • event: "progress"
      • listener: (job: Job<T> | null, progress: number) => void

      Returns this

    • Parameters

      • event: "stalled"
      • listener: (jobId: string, reason: string) => void

      Returns this

    • Parameters

      • event: "error"
      • listener: (error: Error) => void

      Returns this

    • Parameters

      • event: "cancelled"
      • listener: (data: { jobId: string; reason: string }) => void

      Returns this

    • Parameters

      • event: "log"
      • listener: (job: Job<T>, message: string) => void

      Returns this

    • 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. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "drained" | "ready" | "closed"
      • listener: () => void

        The callback function

      Returns this

      v0.1.101

    • Parameters

      • event: "active"
      • listener: (job: Job<T>) => void

      Returns this

    • Parameters

      • event: "completed"
      • listener: (job: Job<T>, result: R) => void

      Returns this

    • Parameters

      • event: "failed"
      • listener: (job: Job<T>, error: Error) => void

      Returns this

    • Parameters

      • event: "progress"
      • listener: (job: Job<T> | null, progress: number) => void

      Returns this

    • Parameters

      • event: "stalled"
      • listener: (jobId: string, reason: string) => void

      Returns this

    • Parameters

      • event: "error"
      • listener: (error: Error) => void

      Returns this

    • Parameters

      • event: "cancelled"
      • listener: (data: { jobId: string; reason: string }) => void

      Returns this

    • Parameters

      • event: "log"
      • listener: (job: Job<T>, message: string) => void

      Returns this

    • Adds a one-time listener 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. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a

      Parameters

      • event: "drained" | "ready" | "closed"
      • listener: () => void

        The callback function

      Returns this

      v0.3.0

    • Parameters

      • event: "active"
      • listener: (job: Job<T>) => void

      Returns this

    • Parameters

      • event: "completed"
      • listener: (job: Job<T>, result: R) => void

      Returns this

    • Parameters

      • event: "failed"
      • listener: (job: Job<T>, error: Error) => void

      Returns this

    • Parameters

      • event: "progress"
      • listener: (job: Job<T> | null, progress: number) => void

      Returns this

    • Parameters

      • event: "stalled"
      • listener: (jobId: string, reason: string) => void

      Returns this

    • Parameters

      • event: "error"
      • listener: (error: Error) => void

      Returns this

    • Parameters

      • event: "cancelled"
      • listener: (data: { jobId: string; reason: string }) => void

      Returns this

    • Parameters

      • event: "log"
      • listener: (job: Job<T>, message: string) => void

      Returns this

    • Block new starts for expireTimeMs. As on 2.9.10 (BullMQ v5), a value that is not a positive finite number (0, negative, NaN, Infinity, null) does nothing, and a numeric string is that number; any other non-number throws a TypeError. A wait above the native timer limit parks the pull loop on a safeTimeout instead of spinning.

      Parameters

      • expireTimeMs: number

      Returns void