Class Job<DataType, ReturnType, NameType>

See

Job

Type Parameters

  • DataType = any

  • ReturnType = any

  • NameType extends string = string

Hierarchy

  • Job<DataType, ReturnType, NameType>
    • Job

Constructors

  • Type Parameters

    • DataType = any

    • ReturnType = any

    • NameType extends string = string

    Parameters

    • queue: MinimalQueue
    • name: NameType

      The name of the Job

    • data: DataType

      The payload for this job.

    • opts: JobsProOptions = {}

      The options object for this job.

    • Optional id: string

    Returns Job<DataType, ReturnType, NameType>

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.

Default Value

0

failedReason: string

Reason for failing.

finishedOn?: number

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

gid: string | number
id?: string
name: NameType

The name of the 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

queueQualifiedName: string

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

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

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

  • Adds the job to Redis.

    Parameters

    Returns Promise<string>

  • Prepares a job to be serialized for storage in Redis.

    Returns JobJson

  • Prepares a job to be passed to Sandbox.

    Returns JobProJsonSandbox

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

  • Parameters

    • token: string
    • duration: number

    Returns Promise<number>

  • Returns the batch of jobs for this job if any.

    Returns Job<any, any, string>[]

    Memberof

    JobPro

    See

    • Job
    • bullmq!JobPro | JobPro

    Example


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

    Parameters

    • Optional opts: DependenciesOpts

    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.

    Parameters

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

  • 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. 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<any[]>

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

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

    Parameters

    • err: Error

      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>

    void

  • 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. Note, this call will throw an exception if the job is being processed when the call is performed.

    Parameters

    • Optional opts: {
          removeChildren?: boolean;
      }

      Options to remove a job

      • Optional removeChildren?: boolean

    Returns Promise<void>

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

    Parameters

    • Optional state: FinishedStatus

      completed / failed

    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

  • Set job as failed. This method will set the current job instance as failed, it is useful when processing batches to mark a certain job in a batch as failed while completing the rest.

    Parameters

    • err: Error

      The error object to be associated with the job.

    Returns void

  • Sets a batch of jobs for this job.

    Parameters

    • jobs: Job<any, any, string>[]

    Returns void

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

  • 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

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

    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.

    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.

    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.

    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)

    Type Parameters

    • T = any

    • R = any

    • N extends string = string

    Parameters

    • queue: MinimalQueue

      the queue where the job belongs to.

    • json: JobProJsonRaw

      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>

  • Instantiates a JobPro instance based on a standard Job instance.

    Type Parameters

    • DataType = any

    • ResultType = any

    • NameType extends string = string

    Parameters

    • queue: MinimalQueue
    • job: Job<any, any, string>

    Returns Job<DataType, ResultType, NameType>

Generated using TypeDoc