- protected setTaskStatistics (opts: WorkerChoiceStrategyOptions): void {
- if (
- this.taskStatisticsRequirements.avgRunTime &&
- opts.medRunTime === true
- ) {
- this.taskStatisticsRequirements.avgRunTime = false
- this.taskStatisticsRequirements.medRunTime = opts.medRunTime as boolean
- }
- if (
- this.taskStatisticsRequirements.medRunTime &&
- opts.medRunTime === false
- ) {
- this.taskStatisticsRequirements.avgRunTime = true
- this.taskStatisticsRequirements.medRunTime = opts.medRunTime as boolean
- }
- if (
- this.taskStatisticsRequirements.avgWaitTime &&
- opts.medWaitTime === true
- ) {
- this.taskStatisticsRequirements.avgWaitTime = false
- this.taskStatisticsRequirements.medWaitTime = opts.medWaitTime as boolean
+ protected setTaskStatisticsRequirements (
+ opts: WorkerChoiceStrategyOptions | undefined
+ ): void {
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.runTime,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.runTime!.median
+ )
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.waitTime,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.waitTime!.median
+ )
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.elu,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.elu!.median
+ )
+ }
+
+ private toggleMedianMeasurementStatisticsRequirements (
+ measurementStatisticsRequirements: MeasurementStatisticsRequirements,
+ toggleMedian: boolean
+ ): void {
+ if (measurementStatisticsRequirements.average && toggleMedian) {
+ measurementStatisticsRequirements.average = false
+ measurementStatisticsRequirements.median = toggleMedian