X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FBootstrap.ts;h=ca45d287e139407ca66858f11c94dcbb3fc23d3c;hb=44eb6026079c8dc2c77b10a96a42d0c0b2da7c8f;hp=e29c6445fefcccb383b4387f93d670a948c57326;hpb=56eb297e60819adea5d3a1f419a872cc8d3b5284;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/Bootstrap.ts b/src/charging-station/Bootstrap.ts index e29c6445..ca45d287 100644 --- a/src/charging-station/Bootstrap.ts +++ b/src/charging-station/Bootstrap.ts @@ -1,4 +1,4 @@ -// Partial Copyright Jerome Benoit. 2021. All Rights Reserved. +// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved. import path from 'path'; import { fileURLToPath } from 'url'; @@ -6,27 +6,28 @@ import { type Worker, isMainThread } from 'worker_threads'; import chalk from 'chalk'; +import { ChargingStationUtils } from './ChargingStationUtils'; +import type { AbstractUIServer } from './ui-server/AbstractUIServer'; +import UIServerFactory from './ui-server/UIServerFactory'; import { version } from '../../package.json'; import BaseError from '../exception/BaseError'; import type { Storage } from '../performance/storage/Storage'; import { StorageFactory } from '../performance/storage/StorageFactory'; import { - ChargingStationData, - ChargingStationWorkerData, - ChargingStationWorkerMessage, - ChargingStationWorkerMessageData, + type ChargingStationData, + type ChargingStationWorkerData, + type ChargingStationWorkerMessage, + type ChargingStationWorkerMessageData, ChargingStationWorkerMessageEvents, } from '../types/ChargingStationWorker'; import type { StationTemplateUrl } from '../types/ConfigurationData'; import type { Statistics } from '../types/Statistics'; +import type { MessageHandler } from '../types/Worker'; import Configuration from '../utils/Configuration'; import logger from '../utils/Logger'; import Utils from '../utils/Utils'; import type WorkerAbstract from '../worker/WorkerAbstract'; import WorkerFactory from '../worker/WorkerFactory'; -import { ChargingStationUtils } from './ChargingStationUtils'; -import type { AbstractUIServer } from './ui-server/AbstractUIServer'; -import UIServerFactory from './ui-server/UIServerFactory'; const moduleName = 'Bootstrap'; @@ -53,7 +54,7 @@ export class Bootstrap { this.workerScript = path.join( path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../'), 'charging-station', - 'ChargingStationWorker' + path.extname(fileURLToPath(import.meta.url)) + `ChargingStationWorker${path.extname(fileURLToPath(import.meta.url))}` ); this.initialize(); Configuration.getUIServer().enabled === true && @@ -97,9 +98,7 @@ export class Bootstrap { } catch (error) { console.error( chalk.red( - 'Error at starting charging station with template file ' + - stationTemplateUrl.file + - ': ' + `Error at starting charging station with template file ${stationTemplateUrl.file}: ` ), error ); @@ -178,10 +177,7 @@ export class Bootstrap { poolOptions: { workerChoiceStrategy: Configuration.getWorker().poolStrategy, }, - messageHandler: this.messageHandler.bind(this) as ( - this: Worker, - msg: ChargingStationWorkerMessage - ) => void, + messageHandler: this.messageHandler.bind(this) as MessageHandler, } )); } @@ -229,9 +225,9 @@ export class Bootstrap { this.uiServer?.chargingStations.set(data.stationInfo.hashId, data); ++this.numberOfStartedChargingStations; logger.info( - `${this.logPrefix()} ${moduleName}.workerEventStarted: Charging station '${ + `${this.logPrefix()} ${moduleName}.workerEventStarted: Charging station ${ data.stationInfo.chargingStationId - } (hashId: ${data.stationInfo.hashId})' started (${ + } (hashId: ${data.stationInfo.hashId}) started (${ this.numberOfStartedChargingStations } started from ${this.numberOfChargingStations})` ); @@ -241,9 +237,9 @@ export class Bootstrap { this.uiServer?.chargingStations.set(data.stationInfo.hashId, data); --this.numberOfStartedChargingStations; logger.info( - `${this.logPrefix()} ${moduleName}.workerEventStopped: Charging station '${ + `${this.logPrefix()} ${moduleName}.workerEventStopped: Charging station ${ data.stationInfo.chargingStationId - } (hashId: ${data.stationInfo.hashId})' stopped (${ + } (hashId: ${data.stationInfo.hashId}) stopped (${ this.numberOfStartedChargingStations } started from ${this.numberOfChargingStations})` );