Merge branch 'master' into interleaved-weighted-round-robin-worker-choice-strategy
[poolifier.git] / src / pools / selection-strategies / fair-share-worker-choice-strategy.ts
index 0ae939949b1c115918db6bb1f33dfab2e253191a..56d9dc361fe6e70255877ec6c1e6be6f33b70a70 100644 (file)
@@ -27,7 +27,10 @@ export class FairShareWorkerChoiceStrategy<
   public readonly requiredStatistics: RequiredStatistics = {
     runTime: true,
     avgRunTime: true,
-    medRunTime: false
+    medRunTime: false,
+    waitTime: false,
+    avgWaitTime: false,
+    medWaitTime: false
   }
 
   /**
@@ -97,10 +100,9 @@ export class FairShareWorkerChoiceStrategy<
     workerNodeKey: number,
     workerVirtualTaskStartTimestamp: number
   ): number {
-    const workerVirtualTaskRunTime = this.requiredStatistics.medRunTime
-      ? this.pool.workerNodes[workerNodeKey].tasksUsage.medRunTime
-      : this.pool.workerNodes[workerNodeKey].tasksUsage.avgRunTime
-    return workerVirtualTaskStartTimestamp + workerVirtualTaskRunTime
+    return (
+      workerVirtualTaskStartTimestamp + this.getWorkerTaskRunTime(workerNodeKey)
+    )
   }
 
   private getWorkerVirtualTaskStartTimestamp (workerNodeKey: number): number {