repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Web UI: rename some directories to a sensible name
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
ChargingStationWorker.ts
diff --git
a/src/charging-station/ChargingStationWorker.ts
b/src/charging-station/ChargingStationWorker.ts
index 5ad5f6646920246a248ee93596e4325d907df1c8..626e6e072c3d63f6869be875cbe7be13e3e2f25f 100644
(file)
--- a/
src/charging-station/ChargingStationWorker.ts
+++ b/
src/charging-station/ChargingStationWorker.ts
@@
-1,22
+1,31
@@
// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
-import { ChargingStationWorkerData, ChargingStationWorkerMessage, ChargingStationWorkerMessageEvents } from '../types/ChargingStationWorker';
import { parentPort, workerData } from 'worker_threads';
import { parentPort, workerData } from 'worker_threads';
-import ChargingStation from './ChargingStation';
-import Constants from '../utils/Constants';
import { ThreadWorker } from 'poolifier';
import { ThreadWorker } from 'poolifier';
+
+import {
+ ChargingStationWorkerData,
+ ChargingStationWorkerMessage,
+ ChargingStationWorkerMessageEvents,
+} from '../types/ChargingStationWorker';
import Utils from '../utils/Utils';
import Utils from '../utils/Utils';
+import WorkerConstants from '../worker/WorkerConstants';
+import ChargingStation from './ChargingStation';
+import { ChargingStationUtils } from './ChargingStationUtils';
// Conditionally export ThreadWorker instance for pool usage
export let threadWorker: ThreadWorker;
// Conditionally export ThreadWorker instance for pool usage
export let threadWorker: ThreadWorker;
-if (Utils.workerPoolInUse()) {
- threadWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false });
+if (ChargingStationUtils.workerPoolInUse()) {
+ threadWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, {
+ maxInactiveTime: WorkerConstants.POOL_MAX_INACTIVE_TIME,
+ async: false,
+ });
} else {
// Add message listener to start charging station from main thread
addMessageListener();
if (!Utils.isUndefined(workerData)) {
} 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 }
);
+ startChargingStation(
workerData as ChargingStationWorkerData
);
}
}
}
}
@@
-24,10
+33,9
@@
if (Utils.workerPoolInUse()) {
* Listen messages send by the main thread
*/
function addMessageListener(): void {
* Listen messages send by the main thread
*/
function addMessageListener(): void {
- parentPort?.on('message',
async (message: ChargingStationWorkerMessage
) => {
+ parentPort?.on('message',
(message: ChargingStationWorkerMessage<ChargingStationWorkerData>
) => {
if (message.id === ChargingStationWorkerMessageEvents.START_WORKER_ELEMENT) {
startChargingStation(message.data);
if (message.id === ChargingStationWorkerMessageEvents.START_WORKER_ELEMENT) {
startChargingStation(message.data);
- message.workerOptions?.elementStartDelay > 0 && await Utils.sleep(this.workerOptions.elementStartDelay);
}
});
}
}
});
}