Skip to main content

Job

A Job represents a piece of work to be run in the background, i.e. outside the request-response cycle. It is intended to be used for long-running work triggered by API requests. Jobs should now generally be directly instantiated. Rather, the JobQueue add() method should be used to create and add a new Job to a queue.

Signature

id

propertynumber | string | null

queueName

propertystring

retries

propertynumber

createdAt

propertyDate

name

propertystring

data

propertyT

state

propertyJobState

progress

propertynumber

result

propertyany

error

propertyany

isSettled

propertyboolean

startedAt

propertyDate | undefined

settledAt

propertyDate | undefined

duration

propertynumber

attempts

propertynumber

constructor

method(config: JobConfig<T>) => Job

start

method() =>

Calling this signifies that the job work has started. This method should be called in the JobQueueStrategy next() method.

setProgress

method(percent: number) =>

Sets the progress (0 - 100) of the job.

complete

method(result?: any) =>

Calling this method signifies that the job succeeded. The result will be stored in the Job.result property.

fail

method(err?: any) =>

Calling this method signifies that the job failed.

cancel

method() =>

defer

method() =>

Sets a RUNNING job back to PENDING. Should be used when the JobQueue is being destroyed before the job has been completed.

on

method(eventType: JobEventType, listener: JobEventListener<T>) =>

Used to register event handler for job events

off

method(eventType: JobEventType, listener: JobEventListener<T>) =>

An event raised by a Job.

Signature

The signature of the event handler expected by the Job.on() method.

Signature
Was this chapter helpful?
Report Issue
Edited Feb 25, 2026ยทEdit this page