import Utils from '../utils/Utils';
import { Worker } from 'worker_threads';
import WorkerAbstract from './WorkerAbstract';
+import { WorkerUtils } from './WorkerUtils';
export default class WorkerSet<T> extends WorkerAbstract {
public maxElementsPerWorker: number;
*/
public async addElement(elementData: T): Promise<void> {
if (!this.workerSet) {
- throw Error('Cannot add a WorkerSet element: workers\' set does not exist');
+ throw new Error('Cannot add a WorkerSet element: workers\' set does not exist');
}
if (this.getLastWorkerSetElement().numberOfWorkerElements >= this.maxElementsPerWorker) {
this.startWorker();
worker.on('message', () => { });
worker.on('error', () => { });
worker.on('exit', (code) => {
- if (code !== 0) {
- console.error(`Worker stopped with exit code ${code}`);
- }
+ WorkerUtils.defaultExitHandler(code);
this.workerSet.delete(this.getWorkerSetElementByWorker(worker));
});
this.workerSet.add({ worker, numberOfWorkerElements: 0 });