- if (this.currentWorkerIndex === this.previousWorkerIndex) {
- const workerTaskRunTime =
- (this.workerTaskRunTime.get(currentWorker)?.runTime ?? 0) +
- workerVirtualTaskRunTime
- this.workerTaskRunTime.set(currentWorker, {
- weight: workerTaskWeight,
- runTime: workerTaskRunTime
- })
- } else {
- this.workerTaskRunTime.set(currentWorker, {
- weight: workerTaskWeight,
- runTime: 0
- })
- }
- if (
- workerVirtualTaskRunTime <
- (this.workerTaskRunTime.get(currentWorker) ?? this.defaultWorkerWeight)
- ) {
- this.previousWorkerIndex = this.currentWorkerIndex
+ if (workerTaskRunTime < workerTaskWeight) {
+ this.setWorkerTaskRunTime(
+ chosenWorker,
+ workerTaskWeight,
+ workerTaskRunTime +
+ (this.getWorkerVirtualTaskRunTime(chosenWorker) ?? 0)
+ )