/**
* 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 {
protected destroyWorker (worker: Worker): void {
worker.kill()
- // FIXME: The tests are currently failing, so these must be changed first
}
protected sendToWorker (worker: Worker, message: MessageValue<Data>): void {
worker.send(message)
}
- protected registerWorkerMessageListener (
- port: Worker,
- listener: (message: MessageValue<Response>) => void
+ protected registerWorkerMessageListener<Message extends Data | Response> (
+ worker: Worker,
+ listener: (message: MessageValue<Message>) => void
): void {
- port.on('message', listener)
+ worker.on('message', listener)
}
- protected unregisterWorkerMessageListener (
- port: Worker,
- listener: (message: MessageValue<Response>) => void
+ protected unregisterWorkerMessageListener<Message extends Data | Response> (
+ worker: Worker,
+ listener: (message: MessageValue<Message>) => 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)