Merge branch 'master' into combined-prs-branch
[poolifier.git] / src / pools / worker-node.ts
index d87a79c099c5dab34126e284ca2f14f4be72b3a1..f7a48d3ba43e06cadf9a5da8c855a0b5ce1547bb 100644 (file)
@@ -70,11 +70,19 @@ export class WorkerNode<Worker extends IWorker, Data = unknown>
     }
     // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
     this.tasksQueueBackPressureSize = opts.tasksQueueBackPressureSize!
-    this.tasksQueue = new PriorityQueue<Task<Data>>(opts.tasksQueueBucketSize)
+    this.tasksQueue = new PriorityQueue<Task<Data>>(
+      opts.tasksQueueBucketSize,
+      opts.tasksQueuePriority
+    )
     this.setBackPressureFlag = false
     this.taskFunctionsUsage = new Map<string, WorkerUsage>()
   }
 
+  /** @inheritdoc */
+  public setTasksQueuePriority (enablePriority: boolean): void {
+    this.tasksQueue.enablePriority = enablePriority
+  }
+
   /** @inheritdoc */
   public tasksQueueSize (): number {
     return this.tasksQueue.size
@@ -240,17 +248,17 @@ export class WorkerNode<Worker extends IWorker, Data = unknown>
         failed: 0
       },
       runTime: {
-        history: new CircularBuffer<number>(MeasurementHistorySize)
+        history: new CircularBuffer(MeasurementHistorySize)
       },
       waitTime: {
-        history: new CircularBuffer<number>(MeasurementHistorySize)
+        history: new CircularBuffer(MeasurementHistorySize)
       },
       elu: {
         idle: {
-          history: new CircularBuffer<number>(MeasurementHistorySize)
+          history: new CircularBuffer(MeasurementHistorySize)
         },
         active: {
-          history: new CircularBuffer<number>(MeasurementHistorySize)
+          history: new CircularBuffer(MeasurementHistorySize)
         }
       }
     }
@@ -283,17 +291,17 @@ export class WorkerNode<Worker extends IWorker, Data = unknown>
         failed: 0
       },
       runTime: {
-        history: new CircularBuffer<number>(MeasurementHistorySize)
+        history: new CircularBuffer(MeasurementHistorySize)
       },
       waitTime: {
-        history: new CircularBuffer<number>(MeasurementHistorySize)
+        history: new CircularBuffer(MeasurementHistorySize)
       },
       elu: {
         idle: {
-          history: new CircularBuffer<number>(MeasurementHistorySize)
+          history: new CircularBuffer(MeasurementHistorySize)
         },
         active: {
-          history: new CircularBuffer<number>(MeasurementHistorySize)
+          history: new CircularBuffer(MeasurementHistorySize)
         }
       }
     }