refactor: use simple quote in error string
[poolifier.git] / src / pools / selection-strategies / abstract-worker-choice-strategy.ts
index a4455d28a8e33c5bac1bceaf679b8feab5de533b..efa9578d8b2f889630aadec6da595ded93cd087f 100644 (file)
@@ -27,7 +27,10 @@ export abstract class AbstractWorkerChoiceStrategy<
   public readonly requiredStatistics: RequiredStatistics = {
     runTime: false,
     avgRunTime: false,
-    medRunTime: false
+    medRunTime: false,
+    waitTime: false,
+    avgWaitTime: false,
+    medWaitTime: false
   }
 
   /**
@@ -52,6 +55,14 @@ export abstract class AbstractWorkerChoiceStrategy<
       this.requiredStatistics.avgRunTime = true
       this.requiredStatistics.medRunTime = opts.medRunTime as boolean
     }
+    if (this.requiredStatistics.avgWaitTime && opts.medWaitTime === true) {
+      this.requiredStatistics.avgWaitTime = false
+      this.requiredStatistics.medWaitTime = opts.medWaitTime as boolean
+    }
+    if (this.requiredStatistics.medWaitTime && opts.medWaitTime === false) {
+      this.requiredStatistics.avgWaitTime = true
+      this.requiredStatistics.medWaitTime = opts.medWaitTime as boolean
+    }
   }
 
   /** @inheritDoc */
@@ -88,12 +99,12 @@ export abstract class AbstractWorkerChoiceStrategy<
   }
 
   /**
-   * Gets the worker task run time.
-   * If the required statistics are `avgRunTime`, the average run time is returned.
-   * If the required statistics are `medRunTime`, the median run time is returned.
+   * Gets the worker task runtime.
+   * If the required statistics are `avgRunTime`, the average runtime is returned.
+   * If the required statistics are `medRunTime`, the median runtime is returned.
    *
    * @param workerNodeKey - The worker node key.
-   * @returns The worker task run time.
+   * @returns The worker task runtime.
    */
   protected getWorkerTaskRunTime (workerNodeKey: number): number {
     return this.requiredStatistics.medRunTime