export enum WorkerProcessType {
workerSet = 'workerSet',
+ /** @experimental */
dynamicPool = 'dynamicPool',
- staticPool = 'staticPool',
+ fixedPool = 'fixedPool',
}
-export type SetInfo = {
+export interface SetInfo {
+ version: string;
type: string;
worker: string;
size: number;
elementsExecuting: number;
elementsPerWorker: number;
-};
+}
export enum WorkerSetEvents {
+ started = 'started',
+ stopped = 'stopped',
error = 'error',
+ elementStarted = 'elementStarted',
+ elementError = 'elementError',
}
export const WorkerEvents = {
} as const;
export type WorkerEvents = PoolEvent | WorkerSetEvents;
-export type WorkerOptions = {
+export interface WorkerOptions {
workerStartDelay?: number;
elementStartDelay?: number;
poolMaxSize: number;
poolMinSize: number;
elementsPerWorker?: number;
poolOptions?: ThreadPoolOptions;
-};
+}
export type WorkerData = Record<string, unknown>;
-export type WorkerSetElement = {
+export interface WorkerSetElement {
worker: Worker;
numberOfWorkerElements: number;
-};
+}
-export type WorkerMessage<T extends WorkerData> = {
- id: WorkerMessageEvents;
+export interface WorkerMessage<T extends WorkerData> {
+ event: WorkerMessageEvents;
data: T;
-};
+}
export enum WorkerMessageEvents {
startWorkerElement = 'startWorkerElement',
+ startWorkerElementError = 'startWorkerElementError',
+ startedWorkerElement = 'startedWorkerElement',
}