build(deps): bump poolifier
[poolifier.git] / src / pools / abstract-pool.ts
index 5aadac8127cceb68c313a57b0df2d16332953a79..a9632d87c86d91e64407219a42402f554cac8bed 100644 (file)
@@ -655,13 +655,13 @@ export abstract class AbstractPool<
       this.checkValidTasksQueueOptions(tasksQueueOptions)
       this.opts.tasksQueueOptions =
         this.buildTasksQueueOptions(tasksQueueOptions)
-      this.setTasksQueueMaxSize(this.opts.tasksQueueOptions.size as number)
+      this.setTasksQueueSize(this.opts.tasksQueueOptions.size as number)
     } else if (this.opts.tasksQueueOptions != null) {
       delete this.opts.tasksQueueOptions
     }
   }
 
-  private setTasksQueueMaxSize (size: number): void {
+  private setTasksQueueSize (size: number): void {
     for (const workerNode of this.workerNodes) {
       workerNode.tasksQueueBackPressureSize = size
     }
@@ -838,7 +838,7 @@ export abstract class AbstractPool<
    * @virtual
    */
   protected setupHook (): void {
-    /** Intentionally empty */
+    /* Intentionally empty */
   }
 
   /**
@@ -1230,9 +1230,9 @@ export abstract class AbstractPool<
 
   private updateTaskStolenStatisticsWorkerUsage (
     workerNodeKey: number,
-    workerNode: IWorkerNode<Worker, Data>,
     taskName: string
   ): void {
+    const workerNode = this.workerNodes[workerNodeKey]
     if (workerNode?.usage != null) {
       ++workerNode.usage.tasks.stolen
     }
@@ -1276,7 +1276,6 @@ export abstract class AbstractPool<
         }
         this.updateTaskStolenStatisticsWorkerUsage(
           destinationWorkerNodeKey,
-          destinationWorkerNode,
           task.name as string
         )
         break
@@ -1285,7 +1284,8 @@ export abstract class AbstractPool<
   }
 
   private tasksStealingOnBackPressure (workerId: number): void {
-    if ((this.opts.tasksQueueOptions?.size as number) <= 1) {
+    const sizeOffset = 1
+    if ((this.opts.tasksQueueOptions?.size as number) <= sizeOffset) {
       return
     }
     const sourceWorkerNode =
@@ -1302,7 +1302,7 @@ export abstract class AbstractPool<
         workerNode.info.ready &&
         workerNode.info.id !== workerId &&
         workerNode.usage.tasks.queued <
-          (this.opts.tasksQueueOptions?.size as number) - 1
+          (this.opts.tasksQueueOptions?.size as number) - sizeOffset
       ) {
         const task = {
           ...(sourceWorkerNode.popTask() as Task<Data>),
@@ -1315,7 +1315,6 @@ export abstract class AbstractPool<
         }
         this.updateTaskStolenStatisticsWorkerUsage(
           workerNodeKey,
-          workerNode,
           task.name as string
         )
       }
@@ -1438,7 +1437,7 @@ export abstract class AbstractPool<
     this.workerNodes.push(workerNode)
     const workerNodeKey = this.getWorkerNodeKeyByWorker(worker)
     if (workerNodeKey === -1) {
-      throw new Error('Worker node added not found')
+      throw new Error('Worker added not found in worker nodes')
     }
     return workerNodeKey
   }