Spell fixlet in ATG log message
[e-mobility-charging-stations-simulator.git] / src / types / Worker.ts
... / ...
CommitLineData
1import { PoolOptions } from 'poolifier';
2import { Worker } from 'worker_threads';
3
4export enum WorkerProcessType {
5 WORKER_SET = 'workerSet',
6 DYNAMIC_POOL = 'dynamicPool',
7 STATIC_POOL = 'staticPool'
8}
9
10export interface WorkerOptions {
11 startDelay?: number;
12 poolMaxSize?: number;
13 poolMinSize?: number;
14 elementsPerWorker?: number;
15 poolOptions?: PoolOptions<Worker>;
16 messageHandler?: (message: unknown) => void | Promise<void>;
17}
18
19// eslint-disable-next-line @typescript-eslint/no-empty-interface
20export interface WorkerData {}
21
22export interface ChargingStationWorkerData extends WorkerData {
23 index: number;
24 templateFile: string;
25}
26
27export interface WorkerSetElement {
28 worker: Worker;
29 numberOfWorkerElements: number;
30}
31
32export interface WorkerMessage {
33 id: WorkerMessageEvents;
34 data: any;
35}
36
37export enum WorkerMessageEvents {
38 START_WORKER_ELEMENT = 'startWorkerElement',
39 STOP_WORKER_ELEMENT = 'stopWorkerElement',
40 PERFORMANCE_STATISTICS = 'performanceStatistics'
41}
42