?.worker
}
+ /**
+ * Checks if the worker id sent in the received message from a worker is valid.
+ *
+ * @param message - The received message.
+ * @throws {@link https://nodejs.org/api/errors.html#class-error} If the worker id is invalid.
+ */
private checkMessageWorkerId (message: MessageValue<Response>): void {
if (
message.workerId != null &&
const workerUsage = this.workerNodes[workerNodeKey].usage
++workerUsage.tasks.executing
this.updateWaitTimeWorkerUsage(workerUsage, task)
- const tasksWorkerUsage = this.workerNodes[workerNodeKey].getTaskWorkerUsage(
+ const taskWorkerUsage = this.workerNodes[workerNodeKey].getTaskWorkerUsage(
task.name as string
) as WorkerUsage
- ++tasksWorkerUsage.tasks.executing
- this.updateWaitTimeWorkerUsage(tasksWorkerUsage, task)
+ ++taskWorkerUsage.tasks.executing
+ this.updateWaitTimeWorkerUsage(taskWorkerUsage, task)
}
/**
this.updateTaskStatisticsWorkerUsage(workerUsage, message)
this.updateRunTimeWorkerUsage(workerUsage, message)
this.updateEluWorkerUsage(workerUsage, message)
- const tasksWorkerUsage = this.workerNodes[workerNodeKey].getTaskWorkerUsage(
- message.name as string
+ const taskWorkerUsage = this.workerNodes[workerNodeKey].getTaskWorkerUsage(
+ message.taskPerformance?.name ?? DEFAULT_TASK_NAME
) as WorkerUsage
- this.updateTaskStatisticsWorkerUsage(tasksWorkerUsage, message)
- this.updateRunTimeWorkerUsage(tasksWorkerUsage, message)
- this.updateEluWorkerUsage(tasksWorkerUsage, message)
+ this.updateTaskStatisticsWorkerUsage(taskWorkerUsage, message)
+ this.updateRunTimeWorkerUsage(taskWorkerUsage, message)
+ this.updateEluWorkerUsage(taskWorkerUsage, message)
}
private updateTaskStatisticsWorkerUsage (
if (this.emitter != null) {
this.emitter.emit(PoolEvents.error, error)
}
- if (this.opts.enableTasksQueue === true) {
- this.redistributeQueuedTasks(worker)
- }
if (this.opts.restartWorkerOnError === true && !this.starting) {
if (this.getWorkerInfo(this.getWorkerNodeKey(worker)).dynamic) {
this.createAndSetupDynamicWorker()
this.createAndSetupWorker()
}
}
+ if (this.opts.enableTasksQueue === true) {
+ this.redistributeQueuedTasks(worker)
+ }
})
worker.on('online', this.opts.onlineHandler ?? EMPTY_FUNCTION)
worker.on('exit', this.opts.exitHandler ?? EMPTY_FUNCTION)