Job
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
class Job<T extends JobData<T> = any> {
readonly readonly id: number | string | null;
readonly readonly queueName: string;
readonly readonly retries: number;
readonly readonly createdAt: Date;
name: string
data: T
state: JobState
progress: number
result: any
error: any
isSettled: boolean
startedAt: Date | undefined
settledAt: Date | undefined
duration: number
attempts: number
constructor(config: JobConfig<T>)
start() => ;
setProgress(percent: number) => ;
complete(result?: any) => ;
fail(err?: any) => ;
cancel() => ;
defer() => ;
on(eventType: JobEventType, listener: JobEventListener<T>) => ;
off(eventType: JobEventType, listener: JobEventListener<T>) => ;
}
Members
id
number | string | null
queueName
string
retries
number
createdAt
Date
name
string
data
T
state
JobState
progress
number
result
any
error
any
isSettled
boolean
startedAt
Date | undefined
settledAt
Date | undefined
duration
number
attempts
number
constructor
(config: JobConfig<T>) => Job
start
() =>
next()
method.
setProgress
(percent: number) =>
complete
(result?: any) =>
Job.result
property.
fail
(err?: any) =>
cancel
() =>
defer
() =>
on
(eventType: JobEventType, listener: JobEventListener<T>) =>
off
(eventType: JobEventType, listener: JobEventListener<T>) =>
JobEventType
An event raised by a Job.
Signature
type JobEventType = 'progress'
JobEventListener
The signature of the event handler expected by the Job.on()
method.
Signature
type JobEventListener<T extends JobData<T>> = (job: Job<T>) => void