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 WorkerSetElement
{
24 numberOfWorkerElements
: number;
27 export interface WorkerMessage
{
28 id
: WorkerMessageEvents
;
32 export enum WorkerMessageEvents
{
33 START_WORKER_ELEMENT
= 'startWorkerElement',
34 STOP_WORKER_ELEMENT
= 'stopWorkerElement'