From 576497eca166fb555c66f0f1eeae6ff5acaef801 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Wed, 27 Apr 2022 18:54:54 -0700 Subject: [PATCH] feat: Allow override default Task options on schedule --- server/queues/tasks/BaseTask.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/queues/tasks/BaseTask.ts b/server/queues/tasks/BaseTask.ts index 8477197e4..616fc88ef 100644 --- a/server/queues/tasks/BaseTask.ts +++ b/server/queues/tasks/BaseTask.ts @@ -1,4 +1,4 @@ -import { JobOptions } from "bull"; +import { Job, JobOptions } from "bull"; import { taskQueue } from "../"; export enum TaskPriority { @@ -15,15 +15,16 @@ export default abstract class BaseTask { * @param props Properties to be used by the task * @returns A promise that resolves once the job is placed on the task queue */ - public static schedule(props?: T) { + public static schedule(props?: T, options?: JobOptions): Promise { // @ts-expect-error cannot create an instance of an abstract class, we wont const task = new this(); + return taskQueue.add( { name: this.name, props, }, - task.options + { ...options, ...task.options } ); }