*/
protected getWorkerTaskRunTime (workerNodeKey: number): number {
return this.taskStatisticsRequirements.runTime.median
- ? this.pool.workerNodes[workerNodeKey].usage.runTime.median
- : this.pool.workerNodes[workerNodeKey].usage.runTime.average
+ ? this.pool.workerNodes[workerNodeKey].usage.runTime?.median ?? 0
+ : this.pool.workerNodes[workerNodeKey].usage.runTime?.average ?? 0
}
/**
*/
protected getWorkerTaskWaitTime (workerNodeKey: number): number {
return this.taskStatisticsRequirements.waitTime.median
- ? this.pool.workerNodes[workerNodeKey].usage.waitTime.median
- : this.pool.workerNodes[workerNodeKey].usage.waitTime.average
+ ? this.pool.workerNodes[workerNodeKey].usage.waitTime?.median ?? 0
+ : this.pool.workerNodes[workerNodeKey].usage.waitTime?.average ?? 0
}
/**
*/
protected getWorkerTaskElu (workerNodeKey: number): number {
return this.taskStatisticsRequirements.elu.median
- ? this.pool.workerNodes[workerNodeKey].usage.elu.active.median
- : this.pool.workerNodes[workerNodeKey].usage.elu.active.average
+ ? this.pool.workerNodes[workerNodeKey].usage.elu.active?.median ?? 0
+ : this.pool.workerNodes[workerNodeKey].usage.elu.active?.average ?? 0
}
protected computeDefaultWorkerWeight (): number {
// */
// private findLastFreeWorkerNodeKey (): number {
// // It requires node >= 18.0.0:
- // // return this.workerNodes.findLastIndex(workerNode => {
+ // // return this.pool.workerNodes.findLastIndex(workerNode => {
// // return workerNode.usage.tasks.executing === 0
// // })
// for (