- private computeWorkerLastVirtualTaskTimestamp () {
- for (const worker of this.pool.workers) {
- const workerVirtualTaskStartTimestamp = Math.max(
- Date.now(),
- this.workerLastVirtualTaskTimestamp.get(worker)?.end ?? -Infinity
- )
- const workerVirtualTaskEndTimestamp =
- workerVirtualTaskStartTimestamp +
- (this.pool.getWorkerAverageTasksRunTime(worker) ?? 0)
- this.workerLastVirtualTaskTimestamp.set(worker, {
- start: workerVirtualTaskStartTimestamp,
- end: workerVirtualTaskEndTimestamp
- })
+ private computeWorkerVirtualTaskTimestamp (workerNodeKey: number): void {
+ const workerVirtualTaskStartTimestamp = Math.max(
+ performance.now(),
+ this.workersVirtualTaskTimestamp[workerNodeKey]?.end ?? -Infinity
+ )
+ const workerVirtualTaskTRunTime = this.requiredStatistics.medRunTime
+ ? this.pool.workerNodes[workerNodeKey].tasksUsage.medRunTime
+ : this.pool.workerNodes[workerNodeKey].tasksUsage.avgRunTime
+ this.workersVirtualTaskTimestamp[workerNodeKey] = {
+ start: workerVirtualTaskStartTimestamp,
+ end: workerVirtualTaskStartTimestamp + workerVirtualTaskTRunTime