-
-class WorkerPool {
- public static concurrentWorkers: number;
- private static _instance: Pool;
-
- private constructor() { }
-
- public static getInstance(): Pool {
- if (!WorkerPool._instance || (WorkerPool._instance?.size === WorkerPool.concurrentWorkers)) {
- WorkerPool._instance = new Pool({ max: WorkerPool.concurrentWorkers });
- }
- return WorkerPool._instance;
- }
-
- public static acquire(filename: string, options: WorkerOptions, callback: (error: Error | null, worker: Worker) => void): void {
- WorkerPool.getInstance().acquire(filename, options, callback);
- }
-}