/** @inheritDoc */
public async stop(): Promise<void> {
for (const workerSetElement of this.workerSet) {
- const workerExitPromise = new Promise<void>((resolve) => {
- workerSetElement.worker.on('exit', () => {
+ const worker = workerSetElement.worker;
+ const waitWorkerExit = new Promise<void>((resolve) => {
+ worker.on('exit', () => {
resolve();
});
});
- await workerSetElement.worker.terminate();
- await workerExitPromise;
+ await worker.terminate();
+ await waitWorkerExit;
}
- this.workerSet.clear();
}
/** @inheritDoc */
);
worker.on('message', (message: WorkerMessage<WorkerData>) => {
if (message.event === WorkerMessageEvents.startedWorkerElement) {
- this.emitter?.emit(WorkerSetEvents.elementStarted, message.data);
+ this.emitter?.emit(WorkerSetEvents.elementStarted, this.info);
} else if (message.event === WorkerMessageEvents.startWorkerElementError) {
this.emitter?.emit(WorkerSetEvents.elementError, message.data);
}