repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: emit worker node event at task end
[poolifier.git]
/
src
/
pools
/
abstract-pool.ts
diff --git
a/src/pools/abstract-pool.ts
b/src/pools/abstract-pool.ts
index 6b95be9482664deaa1131eced2ccbe3ccb48ca8a..8319a33eca58ec7954f987ef36289580622a8410 100644
(file)
--- a/
src/pools/abstract-pool.ts
+++ b/
src/pools/abstract-pool.ts
@@
-57,6
+57,7
@@
import {
checkValidTasksQueueOptions,
checkValidWorkerChoiceStrategy,
updateMeasurementStatistics
checkValidTasksQueueOptions,
checkValidWorkerChoiceStrategy,
updateMeasurementStatistics
+ // waitWorkerNodeEvents
} from './utils'
/**
} from './utils'
/**
@@
-1046,8
+1047,13
@@
export abstract class AbstractPool<
protected async destroyWorkerNode (workerNodeKey: number): Promise<void> {
this.flagWorkerNodeAsNotReady(workerNodeKey)
this.flushTasksQueue(workerNodeKey)
protected async destroyWorkerNode (workerNodeKey: number): Promise<void> {
this.flagWorkerNodeAsNotReady(workerNodeKey)
this.flushTasksQueue(workerNodeKey)
- // FIXME: wait for tasks to be finished
const workerNode = this.workerNodes[workerNodeKey]
const workerNode = this.workerNodes[workerNodeKey]
+ // FIXME: wait for tasks to be finished
+ // await waitWorkerNodeEvents(
+ // workerNode,
+ // 'taskFinished',
+ // workerNode.usage.tasks.executing
+ // )
await this.sendKillMessageToWorker(workerNodeKey)
await workerNode.terminate()
}
await this.sendKillMessageToWorker(workerNodeKey)
await workerNode.terminate()
}
@@
-1757,6
+1763,7
@@
export abstract class AbstractPool<
this.afterTaskExecutionHook(workerNodeKey, message)
this.workerChoiceStrategyContext.update(workerNodeKey)
this.promiseResponseMap.delete(taskId as string)
this.afterTaskExecutionHook(workerNodeKey, message)
this.workerChoiceStrategyContext.update(workerNodeKey)
this.promiseResponseMap.delete(taskId as string)
+ this.workerNodes[workerNodeKey].emit('taskFinished', taskId)
if (this.opts.enableTasksQueue === true) {
const workerNodeTasksUsage = this.workerNodes[workerNodeKey].usage.tasks
if (
if (this.opts.enableTasksQueue === true) {
const workerNodeTasksUsage = this.workerNodes[workerNodeKey].usage.tasks
if (