- if (Configuration.useWorkerPool()) {
- void workerImplementation.addElement(workerData);
- numConcurrentWorkers = workerImplementation.size;
- // Start worker sequentially to optimize memory at start time
- await Utils.sleep(Constants.START_WORKER_DELAY);
- } else {
- // eslint-disable-next-line no-lonely-if
- if (chargingStationsPerWorkerCounter === 0 || chargingStationsPerWorkerCounter >= chargingStationsPerWorker) {
- // Start new WorkerGroup with one charging station
- workerImplementation = new WorkerGroup('./dist/charging-station/StationWorker.js', workerData, chargingStationsPerWorker);
- void workerImplementation.start();
- numConcurrentWorkers++;
- chargingStationsPerWorkerCounter = 1;
- // Start worker sequentially to optimize memory at start time
- await Utils.sleep(Constants.START_WORKER_DELAY);
- } else {
- // Add charging station to existing WorkerGroup
- void workerImplementation.addElement(workerData);
- chargingStationsPerWorkerCounter++;
- }
- }