1 import { JsonObject
} 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
{
12 workerStartDelay
?: number;
13 elementStartDelay
?: number;
16 elementsPerWorker
?: number;
17 poolOptions
?: PoolOptions
<Worker
>;
18 messageHandler
?: (message
: unknown
) => void | Promise
<void>;
21 export type WorkerData
= JsonObject
;
23 export interface WorkerSetElement
{
25 numberOfWorkerElements
: number;
28 export interface WorkerMessage
<T
extends WorkerData
> {
29 id
: WorkerMessageEvents
;
33 export enum WorkerMessageEvents
{
34 START_WORKER_ELEMENT
= 'startWorkerElement',
35 STOP_WORKER_ELEMENT
= 'stopWorkerElement',