fix: ensure workers are unreferenced at termination
[e-mobility-charging-stations-simulator.git] / src / worker / WorkerSet.ts
index f10ca9c8ce0f4fbfbd58a10faf0f44ab6073b20a..f22f195379616c32494623668030a7c8d32de2bd 100644 (file)
@@ -92,6 +92,7 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
           resolve()
         })
       })
+      worker.unref()
       await worker.terminate()
       await waitWorkerExit
     }
@@ -147,6 +148,8 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
       ) {
         this.addWorkerSetElement()
       }
+      worker.unref()
+      worker.terminate().catch(error => this.emitter?.emit(WorkerSetEvents.error, error))
     })
     worker.on('online', this.workerOptions.poolOptions?.onlineHandler ?? EMPTY_FUNCTION)
     worker.on('exit', this.workerOptions.poolOptions?.exitHandler ?? EMPTY_FUNCTION)