Skip to main content

JobQueueStrategy

JobQueueStrategy

Defines how the jobs in the JobQueueService are persisted and accessed. Custom strategies can be defined to make use of external services such as Redis.

info

This is configured via the jobQueueOptions.jobQueueStrategy property of your VendureConfig.

Signature
interface JobQueueStrategy extends InjectableStrategy {
add<Data extends JobData<Data> = object>(job: Job<Data>): Promise<Job<Data>>;
start<Data extends JobData<Data> = object>(
queueName: string,
process: (job: Job<Data>) => Promise<any>,
): Promise<void>;
stop<Data extends JobData<Data> = object>(
queueName: string,
process: (job: Job<Data>) => Promise<any>,
): Promise<void>;
}

add

method
(job: Job<Data>) => Promise<Job<Data>>

Add a new job to the queue.

start

method
(queueName: string, process: (job: Job<Data>) => Promise<any>) => Promise<void>

Start the job queue

stop

method
(queueName: string, process: (job: Job<Data>) => Promise<any>) => Promise<void>

Stops a queue from running. Its not guaranteed to stop immediately.