X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker-node.ts;h=f7a48d3ba43e06cadf9a5da8c855a0b5ce1547bb;hb=b7ea53bbd96886c5bc95c13943e5c92a3206f8a5;hp=7ea617fbc4cd3023770699585a83757596efe12f;hpb=9df282a07ef35012409d7d08207e6df983a7e905;p=poolifier.git diff --git a/src/pools/worker-node.ts b/src/pools/worker-node.ts index 7ea617fb..f7a48d3b 100644 --- a/src/pools/worker-node.ts +++ b/src/pools/worker-node.ts @@ -70,11 +70,19 @@ export class WorkerNode } // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.tasksQueueBackPressureSize = opts.tasksQueueBackPressureSize! - this.tasksQueue = new PriorityQueue>(opts.tasksQueueBucketSize) + this.tasksQueue = new PriorityQueue>( + opts.tasksQueueBucketSize, + opts.tasksQueuePriority + ) this.setBackPressureFlag = false this.taskFunctionsUsage = new Map() } + /** @inheritdoc */ + public setTasksQueuePriority (enablePriority: boolean): void { + this.tasksQueue.enablePriority = enablePriority + } + /** @inheritdoc */ public tasksQueueSize (): number { return this.tasksQueue.size @@ -114,7 +122,7 @@ export class WorkerNode /** @inheritdoc */ public dequeueLastPrioritizedTask (): Task | undefined { // Start from the last empty or partially filled bucket - return this.dequeueTask() + return this.dequeueTask(this.tasksQueue.buckets + 1) } /** @inheritdoc */