fix: fix simulator initialization ordering
[e-mobility-charging-stations-simulator.git] / src / worker / WorkerSet.ts
index f22f195379616c32494623668030a7c8d32de2bd..d0f80b6ed59a54342430991ff4d318d86e0a5402 100644 (file)
@@ -97,9 +97,8 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
       await waitWorkerExit
     }
     this.emitter?.emit(WorkerSetEvents.stopped, this.info)
-    this.emitter?.emitDestroy()
-    this.emitter?.removeAllListeners()
     this.started = false
+    this.emitter?.emitDestroy()
   }
 
   /** @inheritDoc */
@@ -115,9 +114,9 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
     ++workerSetElement.numberOfWorkerElements
     // Add element sequentially to optimize memory at startup
     // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    if (this.workerOptions.elementStartDelay! > 0) {
+    if (this.workerOptions.elementAddDelay! > 0) {
       // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-      await sleep(randomizeDelay(this.workerOptions.elementStartDelay!))
+      await sleep(randomizeDelay(this.workerOptions.elementAddDelay!))
     }
   }
 
@@ -149,7 +148,7 @@ export class WorkerSet extends WorkerAbstract<WorkerData> {
         this.addWorkerSetElement()
       }
       worker.unref()
-      worker.terminate().catch(error => this.emitter?.emit(WorkerSetEvents.error, error))
+      worker.terminate().catch((error: unknown) => this.emitter?.emit(WorkerSetEvents.error, error))
     })
     worker.on('online', this.workerOptions.poolOptions?.onlineHandler ?? EMPTY_FUNCTION)
     worker.on('exit', this.workerOptions.poolOptions?.exitHandler ?? EMPTY_FUNCTION)