handleUncaughtException,
handleUnhandledRejection,
isNotEmptyArray,
- isNullOrUndefined,
logPrefix,
logger
} from '../utils/index.js'
// 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)
}
? `/${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)`
: ''
}`
)
private async waitChargingStationsStopped (): Promise<string> {
return await new Promise<string>((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')
private initializeWorkerImplementation (workerConfiguration: WorkerConfiguration): void {
let elementsPerWorker: number | undefined
- switch (workerConfiguration?.elementsPerWorker) {
+ switch (workerConfiguration.elementsPerWorker) {
case 'auto':
elementsPerWorker =
this.numberOfChargingStations > availableParallelism()
if (isNotEmptyArray(stationTemplateUrls)) {
this.numberOfChargingStationTemplates = stationTemplateUrls.length
for (const stationTemplateUrl of stationTemplateUrls) {
- this.numberOfChargingStations += stationTemplateUrl.numberOfStations ?? 0
+ this.numberOfChargingStations += stationTemplateUrl.numberOfStations
}
} else {
console.warn(
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()