- ...this.workerOptions.poolOptions.workerOptions,
- });
- worker.on(
- 'message',
- this.workerOptions?.poolOptions?.messageHandler ?? WorkerConstants.EMPTY_FUNCTION,
- );
- worker.on(
- 'error',
- this.workerOptions?.poolOptions?.errorHandler ?? WorkerConstants.EMPTY_FUNCTION,
- );
- worker.on('error', (error) => {
- this.emitter?.emit(WorkerSetEvents.error, error);
- if (this.workerOptions?.poolOptions?.restartWorkerOnError) {
- this.addWorkerSetElement();
+ ...this.workerOptions.poolOptions?.workerOptions
+ })
+ worker.on('message', this.workerOptions.poolOptions?.messageHandler ?? EMPTY_FUNCTION)
+ worker.on('message', (message: WorkerMessage<WorkerData>) => {
+ if (message.event === WorkerMessageEvents.startedWorkerElement) {
+ this.emitter?.emit(WorkerSetEvents.elementStarted, this.info)
+ } else if (message.event === WorkerMessageEvents.startWorkerElementError) {
+ this.emitter?.emit(WorkerSetEvents.elementError, message.data)
+ }
+ })
+ worker.on('error', this.workerOptions.poolOptions?.errorHandler ?? EMPTY_FUNCTION)
+ worker.on('error', error => {
+ this.emitter?.emit(WorkerSetEvents.error, error)
+ if (
+ this.workerOptions.poolOptions?.restartWorkerOnError === true &&
+ this.started &&
+ !this.workerStartup
+ ) {
+ this.addWorkerSetElement()