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
{
12 workerStartDelay
?: number;
13 elementStartDelay
?: number;
16 elementsPerWorker
?: number;
17 poolOptions
?: PoolOptions
<Worker
>;
18 messageHandler
?: (message
: unknown
) => void | Promise
<void>;
21 export interface WorkerStartOptions
{
22 workerStartDelay
: number;
23 elementStartDelay
: number;
26 export type WorkerData
= JsonType
;
28 export interface WorkerSetElement
{
30 numberOfWorkerElements
: number;
33 export interface WorkerMessage
<T
extends WorkerData
> {
34 id
: WorkerMessageEvents
;
38 export enum WorkerMessageEvents
{
39 START_WORKER_ELEMENT
= 'startWorkerElement',
40 STOP_WORKER_ELEMENT
= 'stopWorkerElement'