X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fworker%2FWorkerSet.ts;h=956d97de0f07b54f0ce627f4620642205963de2a;hb=5cf9050d18e0fd83636ac933793848a5000b4326;hp=782284f3d00447286ad13ca62fb00093be9df243;hpb=a0239c1fdb0cebc4807aa2e381e7232cfe0e127c;p=e-mobility-charging-stations-simulator.git diff --git a/src/worker/WorkerSet.ts b/src/worker/WorkerSet.ts index 782284f3..956d97de 100644 --- a/src/worker/WorkerSet.ts +++ b/src/worker/WorkerSet.ts @@ -1,9 +1,9 @@ // Partial Copyright Jerome Benoit. 2021. All Rights Reserved. -import { WorkerData, WorkerMessageEvents, WorkerOptions, WorkerSetElement } from '../types/Worker'; +import { Worker } from 'worker_threads'; +import { WorkerData, WorkerMessageEvents, WorkerOptions, WorkerSetElement } from '../types/Worker'; import Utils from '../utils/Utils'; -import { Worker } from 'worker_threads'; import WorkerAbstract from './WorkerAbstract'; import { WorkerUtils } from './WorkerUtils'; @@ -46,6 +46,7 @@ export default class WorkerSet extends WorkerAbstract { throw new Error("Cannot add a WorkerSet element: workers' set does not exist"); } if ( + this.workerSet.size === 0 || this.getLastWorkerSetElement().numberOfWorkerElements >= this.workerOptions.elementsPerWorker ) { await this.startWorker(); @@ -54,7 +55,7 @@ export default class WorkerSet extends WorkerAbstract { id: WorkerMessageEvents.START_WORKER_ELEMENT, data: elementData, }); - this.getLastWorkerSetElement().numberOfWorkerElements++; // should there not be a hanshake to be safer ? + this.getLastWorkerSetElement().numberOfWorkerElements++; // Start element sequentially to optimize memory at startup if (this.workerOptions.elementStartDelay > 0) { await Utils.sleep(this.workerOptions.elementStartDelay);