+import { PoolOptions } from 'poolifier';
import { Worker } from 'worker_threads';
export enum WorkerProcessType {
STATIC_POOL = 'staticPool'
}
-export interface WorkerData { }
-
-export interface StationWorkerData extends WorkerData {
- index: number;
- templateFile: string;
+export interface WorkerOptions {
+ startDelay?: number;
+ poolMaxSize?: number;
+ poolMinSize?: number;
+ elementsPerWorker?: number;
+ poolOptions?: PoolOptions<Worker>;
+ messageHandler?: (message: unknown) => void | Promise<void>;
}
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
+export interface WorkerData {}
+
export interface WorkerSetElement {
- worker: Worker,
- numberOfWorkerElements: number
+ worker: Worker;
+ numberOfWorkerElements: number;
+}
+
+export interface WorkerMessage {
+ id: WorkerMessageEvents;
+ data: any;
}
-export enum WorkerEvents {
+export enum WorkerMessageEvents {
START_WORKER_ELEMENT = 'startWorkerElement',
+ STOP_WORKER_ELEMENT = 'stopWorkerElement'
}