Commit | Line | Data |
---|---|---|
3d2ff9e4 | 1 | import { isMainThread, parentPort, workerData } from 'worker_threads'; |
3f40bc9c | 2 | |
6af9012e | 3 | import ChargingStation from './ChargingStation'; |
5fdab605 | 4 | import Constants from '../utils/Constants'; |
7dde0b73 JB |
5 | |
6 | if (!isMainThread) { | |
97ed5cec | 7 | startChargingStation({ index: workerData.index as number, templateFile: workerData.templateFile as string }); |
3d2ff9e4 J |
8 | |
9 | // Listener: start new charging station from main thread | |
10 | addListener(); | |
11 | } | |
12 | ||
13 | function addListener() { | |
5fdab605 JB |
14 | parentPort.setMaxListeners(Constants.MAX_LISTENERS); |
15 | parentPort.on('message', (e) => { | |
97ed5cec | 16 | if (e.id === Constants.START_WORKER_ELEMENT) { |
5fdab605 | 17 | startChargingStation(e.workerData); |
3d2ff9e4 J |
18 | } |
19 | }); | |
20 | } | |
21 | ||
22 | function startChargingStation(data: any) { | |
23 | const station = new ChargingStation(data.index as number, data.templateFile as string); | |
24 | station.start(); | |
7dde0b73 | 25 | } |