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.