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
Fix GH actions run on dependabot PRs.
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
StationWorker.ts
diff --git
a/src/charging-station/StationWorker.ts
b/src/charging-station/StationWorker.ts
index edc306f9916cbeded55af1123b67da7816ee26d6..c3c5cb51346ce2f36f843f816c29eb27abbdb524 100644
(file)
--- a/
src/charging-station/StationWorker.ts
+++ b/
src/charging-station/StationWorker.ts
@@
-1,3
+1,5
@@
+// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+
import { StationWorkerData, WorkerEvents } from '../types/Worker';
import { parentPort, workerData } from 'worker_threads';
import { StationWorkerData, WorkerEvents } from '../types/Worker';
import { parentPort, workerData } from 'worker_threads';
@@
-7,26
+9,34
@@
import { ThreadWorker } from 'poolifier';
import Utils from '../utils/Utils';
// Conditionally export ThreadWorker instance for pool usage
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<StationWorkerData>(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false });
} else {
if (Utils.workerPoolInUse()) {
threadWorker = new ThreadWorker<StationWorkerData>(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false });
} else {
- // Add listener to start charging station from main thread
- addListener();
+ // Add
message
listener to start charging station from main thread
+ add
Message
Listener();
if (!Utils.isUndefined(workerData)) {
startChargingStation({ index: workerData.index as number, templateFile: workerData.templateFile as string });
}
}
if (!Utils.isUndefined(workerData)) {
startChargingStation({ index: workerData.index as number, templateFile: workerData.templateFile as string });
}
}
-function addListener(): void {
- parentPort.on('message', (message) => {
+/**
+ * Listen messages send by the main thread
+ */
+function addMessageListener(): void {
+ parentPort?.on('message', (message) => {
if (message.id === WorkerEvents.START_WORKER_ELEMENT) {
startChargingStation(message.workerData);
}
});
}
if (message.id === WorkerEvents.START_WORKER_ELEMENT) {
startChargingStation(message.workerData);
}
});
}
+/**
+ * Create and start a charging station instance
+ *
+ * @param {StationWorkerData} data workerData
+ */
function startChargingStation(data: StationWorkerData): void {
function startChargingStation(data: StationWorkerData): void {
- const station = new ChargingStation(data.index
, data.templateFile);
+ const station = new ChargingStation(data.index, data.templateFile);
station.start();
}
station.start();
}