+ worker.on('error', () => {
+ /* This is intentional */
+ });
+ worker.on('exit', (code) => {
+ WorkerUtils.defaultExitHandler(code);
+ this.workerSet.delete(this.getWorkerSetElementByWorker(worker));
+ });
+ this.workerSet.add({ worker, numberOfWorkerElements: 0 });
+ // Start worker sequentially to optimize memory at startup
+ this.workerOptions.workerStartDelay > 0 &&
+ (await Utils.sleep(this.workerOptions.workerStartDelay));
+ }
+
+ private getLastWorkerSetElement(): WorkerSetElement {
+ let workerSetElement: WorkerSetElement;
+ for (workerSetElement of this.workerSet) {
+ /* This is intentional */
+ }
+ return workerSetElement;