1 import type { Worker
} from
'node:worker_threads';
3 import type { PoolOptions
} from
'poolifier';
5 export enum WorkerProcessType
{
6 workerSet
= 'workerSet',
7 dynamicPool
= 'dynamicPool',
8 staticPool
= 'staticPool',
11 export type SetInfo
= {
13 runningElements
: number;
14 elementsPerWorker
: number;
17 export type MessageHandler
<T
> = (this: T
, message
: unknown
) => void;
19 export type WorkerOptions
= {
20 workerStartDelay
?: number;
21 elementStartDelay
?: number;
24 elementsPerWorker
?: number;
25 poolOptions
?: PoolOptions
<Worker
>;
26 messageHandler
?: MessageHandler
<Worker
>;
29 export type WorkerData
= Record
<string, unknown
>;
31 export type WorkerSetElement
= {
33 numberOfWorkerElements
: number;
36 export type WorkerMessage
<T
extends WorkerData
> = {
37 id
: WorkerMessageEvents
;
41 export enum WorkerMessageEvents
{
42 startWorkerElement
= 'startWorkerElement',