}
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<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)