- private stepWorkerNumberOfTasks (worker: Worker, step: number): void {
- const numberOfTasksInProgress = this.tasks.get(worker)
- if (numberOfTasksInProgress !== undefined) {
- this.tasks.set(worker, numberOfTasksInProgress + step)
- } else {
- throw Error('Worker could not be found in tasks map')
+ protected afterPromiseWorkerResponseHook (
+ message: MessageValue<Response>,
+ promise: PromiseWorkerResponseWrapper<Worker, Response>
+ ): void {
+ const workerTasksUsage = this.getWorkerTasksUsage(
+ promise.worker
+ ) as TasksUsage
+ --workerTasksUsage.running
+ ++workerTasksUsage.run
+ if (
+ this.workerChoiceStrategyContext.getWorkerChoiceStrategy()
+ .requiredStatistics.runTime
+ ) {
+ workerTasksUsage.runTime += message.taskRunTime ?? 0
+ if (workerTasksUsage.run !== 0) {
+ workerTasksUsage.avgRunTime =
+ workerTasksUsage.runTime / workerTasksUsage.run
+ }