+ /** @inheritDoc */
+ public enableTasksQueue (enable: boolean, opts?: TasksQueueOptions): void {
+ if (this.opts.enableTasksQueue === true && !enable) {
+ for (const [workerNodeKey] of this.workerNodes.entries()) {
+ this.flushTasksQueue(workerNodeKey)
+ }
+ }
+ this.opts.enableTasksQueue = enable
+ this.setTasksQueueOptions(opts as TasksQueueOptions)
+ }
+
+ /** @inheritDoc */
+ public setTasksQueueOptions (opts: TasksQueueOptions): void {
+ if (this.opts.enableTasksQueue === true) {
+ this.checkValidTasksQueueOptions(opts)
+ this.opts.tasksQueueOptions = this.buildTasksQueueOptions(opts)
+ } else {
+ delete this.opts.tasksQueueOptions
+ }
+ }
+
+ private buildTasksQueueOptions (
+ tasksQueueOptions: TasksQueueOptions
+ ): TasksQueueOptions {
+ return {
+ concurrency: tasksQueueOptions?.concurrency ?? 1
+ }
+ }
+