1 import type { Worker
} from
'worker_threads';
3 import type { PoolOptions
} from
'poolifier';
5 export enum WorkerProcessType
{
6 WORKER_SET
= 'workerSet',
7 DYNAMIC_POOL
= 'dynamicPool',
8 STATIC_POOL
= 'staticPool',
11 export type WorkerOptions
= {
12 workerStartDelay
?: number;
13 elementStartDelay
?: number;
16 elementsPerWorker
?: number;
17 poolOptions
?: PoolOptions
<Worker
>;
18 messageHandler
?: (this: Worker
, message
: unknown
) => void | Promise
<void>;
21 export type WorkerData
= Record
<string, unknown
>;
23 export type WorkerSetElement
= {
25 numberOfWorkerElements
: number;
28 export type WorkerMessage
<T
extends WorkerData
> = {
29 id
: WorkerMessageEvents
;
33 export enum WorkerMessageEvents
{
34 START_WORKER_ELEMENT
= 'startWorkerElement',