X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FBootstrap.ts;h=c0dc2b3d2ff22aaeefdc221d3ccab4dce8ebc7ac;hb=7274efb72e3cef8204594d138c5cf092b3a4fc6e;hp=6a8d79fae543fa9bf51e3c8005a1e72191065680;hpb=a807045be19c1ed4996a44d8c2c8774e926dc6dc;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/Bootstrap.ts b/src/charging-station/Bootstrap.ts index 6a8d79fa..c0dc2b3d 100644 --- a/src/charging-station/Bootstrap.ts +++ b/src/charging-station/Bootstrap.ts @@ -36,7 +36,6 @@ import { handleUncaughtException, handleUnhandledRejection, isNotEmptyArray, - isNullOrUndefined, logPrefix, logger } from '../utils/index.js' @@ -48,7 +47,7 @@ enum exitCodes { succeeded = 0, missingChargingStationsConfiguration = 1, noChargingStationTemplates = 2, - gracefulShutdownError = 3, + gracefulShutdownError = 3 } export class Bootstrap extends EventEmitter { @@ -130,7 +129,7 @@ export class Bootstrap extends EventEmitter { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion for (const stationTemplateUrl of Configuration.getStationTemplateUrls()!) { try { - const nbStations = stationTemplateUrl.numberOfStations ?? 0 + const nbStations = stationTemplateUrl.numberOfStations for (let index = 1; index <= nbStations; index++) { await this.startChargingStation(index, stationTemplateUrl) } @@ -156,8 +155,8 @@ export class Bootstrap extends EventEmitter { ? `/${workerConfiguration.poolMaxSize?.toString()}` : '' } worker(s) concurrently running in '${workerConfiguration.processType}' mode${ - !isNullOrUndefined(this.workerImplementation?.maxElementsPerWorker) - ? ` (${this.workerImplementation?.maxElementsPerWorker} charging station(s) per worker)` + this.workerImplementation?.maxElementsPerWorker != null + ? ` (${this.workerImplementation.maxElementsPerWorker} charging station(s) per worker)` : '' }` ) @@ -224,16 +223,16 @@ export class Bootstrap extends EventEmitter { private async waitChargingStationsStopped (): Promise { return await new Promise((resolve, reject) => { const waitTimeout = setTimeout(() => { - const message = `Timeout ${formatDurationMilliSeconds( + const timeoutMessage = `Timeout ${formatDurationMilliSeconds( Constants.STOP_CHARGING_STATIONS_TIMEOUT )} reached at stopping charging stations` - console.warn(chalk.yellow(message)) - reject(new Error(message)) + console.warn(chalk.yellow(timeoutMessage)) + reject(new Error(timeoutMessage)) }, Constants.STOP_CHARGING_STATIONS_TIMEOUT) waitChargingStationEvents( this, ChargingStationWorkerMessageEvents.stopped, - this.numberOfChargingStations + this.numberOfStartedChargingStations ) .then(() => { resolve('Charging stations stopped') @@ -247,7 +246,7 @@ export class Bootstrap extends EventEmitter { private initializeWorkerImplementation (workerConfiguration: WorkerConfiguration): void { let elementsPerWorker: number | undefined - switch (workerConfiguration?.elementsPerWorker) { + switch (workerConfiguration.elementsPerWorker) { case 'auto': elementsPerWorker = this.numberOfChargingStations > availableParallelism() @@ -374,7 +373,7 @@ export class Bootstrap extends EventEmitter { if (isNotEmptyArray(stationTemplateUrls)) { this.numberOfChargingStationTemplates = stationTemplateUrls.length for (const stationTemplateUrl of stationTemplateUrls) { - this.numberOfChargingStations += stationTemplateUrl.numberOfStations ?? 0 + this.numberOfChargingStations += stationTemplateUrl.numberOfStations } } else { console.warn( @@ -414,7 +413,7 @@ export class Bootstrap extends EventEmitter { private gracefulShutdown (): void { this.stop() .then(() => { - console.info(`${chalk.green('Graceful shutdown')}`) + console.info(chalk.green('Graceful shutdown')) this.uiServer?.stop() // stop() asks for charging stations to stop by default this.waitChargingStationsStopped() @@ -425,7 +424,7 @@ export class Bootstrap extends EventEmitter { exit(exitCodes.gracefulShutdownError) }) }) - .catch((error) => { + .catch(error => { console.error(chalk.red('Error while shutdowning charging stations simulator: '), error) exit(exitCodes.gracefulShutdownError) })