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

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

  • set concurrency(concurrency): void
  • Parameters

    • concurrency: number

    Returns void

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

    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>

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

    Type Parameters

    Parameters

    • event: U

      The emitted event.

    • Rest ...args: Parameters<WorkerListener<DataType, ResultType, NameType>[U]>

    Returns boolean

  • Returns a promise that resolves to the next job in queue.

    Parameters

    • token: string

      worker token to be assigned to retrieved job

    • __namedParameters: GetNextJobOptions = {}

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

    a Job or undefined if no job was available in the queue.

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

  • Type Parameters

    Parameters

    • eventName: U
    • listener: WorkerListener<DataType, ResultType, NameType>[U]

    Returns Worker<DataType, ResultType, NameType>

  • Type Parameters

    Parameters

    Returns Worker<DataType, ResultType, NameType>

  • Type Parameters

    Parameters

    Returns Worker<DataType, ResultType, NameType>

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

    Parameters

    • Optional doNotWaitActive: boolean

    Returns Promise<void>

  • Parameters

    • job: Job<DataType, ResultType, NameType>
    • token: string
    • fetchNextCallback: (() => boolean) = ...
        • (): boolean
        • Returns boolean

    • jobsInProgress: Set<{
          job: Job<any, any, string>;
          ts: number;
      }>

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

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

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

Generated using TypeDoc