this.checkNumberOfWorkers(this.numberOfWorkers)
this.checkFilePath(this.filePath)
this.checkPoolOptions(this.opts)
+
+ this.chooseWorker.bind(this)
+ this.internalExecute.bind(this)
+ this.checkAndEmitBusy.bind(this)
+ this.sendToWorker.bind(this)
+
this.setupHook()
for (let i = 1; i <= this.numberOfWorkers; i++) {
/** {@inheritDoc} */
public abstract get type (): PoolType
- /** {@inheritDoc} */
- public get numberOfRunningTasks (): number {
+ /**
+ * Number of tasks concurrently running.
+ */
+ private get numberOfRunningTasks (): number {
return this.promiseResponseMap.size
}
)
}
+ /** {@inheritDoc} */
+ public abstract get full (): boolean
+
/** {@inheritDoc} */
public abstract get busy (): boolean
- protected internalGetBusyStatus (): boolean {
+ protected internalBusy (): boolean {
return (
this.numberOfRunningTasks >= this.numberOfWorkers &&
this.findFreeWorkerKey() === -1
}
if (this.workerChoiceStrategyContext.getRequiredStatistics().runTime) {
workerTasksUsage.runTime += message.taskRunTime ?? 0
- if (workerTasksUsage.run !== 0) {
+ if (
+ this.workerChoiceStrategyContext.getRequiredStatistics().avgRunTime &&
+ workerTasksUsage.run !== 0
+ ) {
workerTasksUsage.avgRunTime =
workerTasksUsage.runTime / workerTasksUsage.run
}