X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fcluster%2Ffixed.ts;h=7cc3bf53950870a0ac2ee6e1a99871bfb72e4214;hb=90bd5e4759bd31cc25b6f42e88d07ed05b969cec;hp=f17deed7228da7abbbf4b1583086c55059f01b5e;hpb=729c563db85562dd7d0f7733b1a3e2d98467134b;p=poolifier.git diff --git a/src/pools/cluster/fixed.ts b/src/pools/cluster/fixed.ts index f17deed7..7cc3bf53 100644 --- a/src/pools/cluster/fixed.ts +++ b/src/pools/cluster/fixed.ts @@ -36,16 +36,16 @@ export class FixedClusterPool< /** * Constructs a new poolifier fixed cluster pool. * - * @param numWorkers Number of workers for this pool. + * @param numberOfWorkers Number of workers for this pool. * @param filePath Path to an implementation of a `ClusterWorker` file, which can be relative or absolute. * @param opts Options for this fixed cluster pool. Default: `{ maxTasks: 1000 }` */ public constructor ( - numWorkers: number, + numberOfWorkers: number, filePath: string, public readonly opts: ClusterPoolOptions = { maxTasks: 1000 } ) { - super(numWorkers, filePath, opts) + super(numberOfWorkers, filePath, opts) } protected setupHook (): void { @@ -59,33 +59,33 @@ export class FixedClusterPool< } protected destroyWorker (worker: Worker): void { + this.sendToWorker(worker, { kill: 1 }) worker.kill() - // FIXME: The tests are currently failing, so these must be changed first } protected sendToWorker (worker: Worker, message: MessageValue): void { worker.send(message) } - protected registerWorkerMessageListener ( - port: Worker, - listener: (message: MessageValue) => void + protected registerWorkerMessageListener ( + worker: Worker, + listener: (message: MessageValue) => void ): void { - port.on('message', listener) + worker.on('message', listener) } - protected unregisterWorkerMessageListener ( - port: Worker, - listener: (message: MessageValue) => void + protected unregisterWorkerMessageListener ( + worker: Worker, + listener: (message: MessageValue) => void ): void { - port.removeListener('message', listener) + worker.removeListener('message', listener) } - protected newWorker (): Worker { + protected createWorker (): Worker { return fork(this.opts.env) } - protected afterNewWorkerPushed (worker: Worker): void { + protected afterWorkerSetup (worker: Worker): void { // we will attach a listener for every task, // when task is completed the listener will be removed but to avoid warnings we are increasing the max listeners size worker.setMaxListeners(this.opts.maxTasks ?? 1000)