c9882ccdadbd6c0b95a0fa547e5a25ad1ed92a2c
1 import { Worker
} from
'worker_threads';
3 import { PoolOptions
} from
'poolifier';
5 import { JsonObject
} from
'./JsonType';
7 export enum WorkerProcessType
{
8 WORKER_SET
= 'workerSet',
9 DYNAMIC_POOL
= 'dynamicPool',
10 STATIC_POOL
= 'staticPool',
13 export interface WorkerOptions
{
14 workerStartDelay
?: number;
15 elementStartDelay
?: number;
18 elementsPerWorker
?: number;
19 poolOptions
?: PoolOptions
<Worker
>;
20 messageHandler
?: (message
: unknown
) => void | Promise
<void>;
23 export type WorkerData
= JsonObject
;
25 export interface WorkerSetElement
{
27 numberOfWorkerElements
: number;
30 export interface WorkerMessage
<T
extends WorkerData
> {
31 id
: WorkerMessageEvents
;
35 export enum WorkerMessageEvents
{
36 START_WORKER_ELEMENT
= 'startWorkerElement',
37 STOP_WORKER_ELEMENT
= 'stopWorkerElement',