1 import { PoolOptions
} from
'poolifier';
2 import { Worker
} from
'worker_threads';
4 export enum WorkerProcessType
{
5 WORKER_SET
= 'workerSet',
6 DYNAMIC_POOL
= 'dynamicPool',
7 STATIC_POOL
= 'staticPool'
10 export interface WorkerOptions
{
14 elementsPerWorker
?: number;
15 poolOptions
?: PoolOptions
<Worker
>;
16 messageHandler
?: (message
: unknown
) => void | Promise
<void>;
19 // eslint-disable-next-line @typescript-eslint/no-empty-interface
20 export interface WorkerData
{}
22 export interface ChargingStationWorkerData
extends WorkerData
{
27 export interface WorkerSetElement
{
29 numberOfWorkerElements
: number;
32 export interface WorkerMessage
{
33 id
: WorkerMessageEvents
;
37 export enum WorkerMessageEvents
{
38 START_WORKER_ELEMENT
= 'startWorkerElement',
39 STOP_WORKER_ELEMENT
= 'stopWorkerElement',
40 PERFORMANCE_STATISTICS
= 'performanceStatistics'