2d923daab084bb95b77a783509053bed4b519a7a
1 import Configuration from
'../utils/Configuration';
2 import WorkerDynamicPool from
'./WorkerDynamicPool';
3 import { WorkerProcessType
} from
'../types/Worker';
4 import WorkerSet from
'./WorkerSet';
5 import WorkerStaticPool from
'./WorkerStaticPool';
6 import Wrk from
'./Wrk';
8 export default class WorkerFactory
{
9 public static getWorkerImpl(workerScript
: string): Wrk
{
10 switch (Configuration
.getWorkerProcess()) {
11 case WorkerProcessType
.WORKER_SET
:
12 return new WorkerSet(workerScript
, Configuration
.getChargingStationsPerWorker());
13 case WorkerProcessType
.STATIC_POOL
:
14 return new WorkerStaticPool(workerScript
, Configuration
.getWorkerPoolMaxSize());
15 case WorkerProcessType
.DYNAMIC_POOL
:
16 return new WorkerDynamicPool(workerScript
, Configuration
.getWorkerPoolMinSize(), Configuration
.getWorkerPoolMaxSize());