X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FStationWorker.ts;h=bb2db88a4c749acafee441291b05dc8ef4fdf36e;hb=ce4d00ee7295ccdb12f35154eb2eb72973b6e75b;hp=65e2fb8832883662aadb145798da9783f37a1ae2;hpb=1af50fac1ab71fed19f11864d1644261046698a3;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/StationWorker.ts b/src/charging-station/StationWorker.ts index 65e2fb88..bb2db88a 100644 --- a/src/charging-station/StationWorker.ts +++ b/src/charging-station/StationWorker.ts @@ -1,5 +1,5 @@ import { StationWorkerData, WorkerEvents } from '../types/Worker'; -import { isMainThread, parentPort, workerData } from 'worker_threads'; +import { parentPort, workerData } from 'worker_threads'; import ChargingStation from './ChargingStation'; import Constants from '../utils/Constants'; @@ -7,20 +7,18 @@ import { ThreadWorker } from 'poolifier'; import Utils from '../utils/Utils'; // Conditionally export ThreadWorker instance for pool usage -export let threadWorker; +export let threadWorker: ThreadWorker; if (Utils.workerPoolInUse()) { - threadWorker = new ThreadWorker(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false }); -} - -if (!isMainThread) { - // Add listener to start charging station from main thread - addListener(); + threadWorker = new ThreadWorker(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false }); +} else { + // Add message listener to start charging station from main thread + addMessageListener(); if (!Utils.isUndefined(workerData)) { startChargingStation({ index: workerData.index as number, templateFile: workerData.templateFile as string }); } } -function addListener() { +function addMessageListener(): void { parentPort.on('message', (message) => { if (message.id === WorkerEvents.START_WORKER_ELEMENT) { startChargingStation(message.workerData); @@ -28,7 +26,7 @@ function addListener() { }); } -function startChargingStation(data: StationWorkerData) { - const station = new ChargingStation(data.index , data.templateFile); +function startChargingStation(data: StationWorkerData): void { + const station = new ChargingStation(data.index, data.templateFile); station.start(); }