refactor: add more sanity checks to charging profiles handling code
[e-mobility-charging-stations-simulator.git] / src / worker / WorkerSet.ts
index bc1a4c0871547b5485d7ab8c443733741e90d8c3..fd81840a7a35139e238ff203facef400576e6572 100644 (file)
@@ -77,15 +77,15 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
   /** @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 */
@@ -119,7 +119,7 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
     );
     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);
       }