7a96335535b5dbb4f98d847edbf9e37b4c7a7f26
1 import { JsonType
} from
'./JsonType';
2 import { PoolOptions
} from
'poolifier';
3 import { Worker
} from
'worker_threads';
5 export enum WorkerProcessType
{
6 WORKER_SET
= 'workerSet',
7 DYNAMIC_POOL
= 'dynamicPool',
8 STATIC_POOL
= 'staticPool'
11 export interface WorkerOptions
{
15 elementsPerWorker
?: number;
16 poolOptions
?: PoolOptions
<Worker
>;
17 messageHandler
?: (message
: unknown
) => void | Promise
<void>;
20 export type WorkerData
= JsonType
;
22 export interface WorkerSetElement
{
24 numberOfWorkerElements
: number;
27 export interface WorkerMessage
<T
extends WorkerData
> {
28 id
: WorkerMessageEvents
;
32 export enum WorkerMessageEvents
{
33 START_WORKER_ELEMENT
= 'startWorkerElement',
34 STOP_WORKER_ELEMENT
= 'stopWorkerElement'