X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fworker%2FWorkerConstants.ts;h=bbfcdac4b10a37b55adf26ee21d5385517b97ca9;hb=4abf6441bf3f9a70c77a56199b03dc63799a5e66;hp=e7572db3d5cc2eb92ff4b1a4238dc1447e7a1a25;hpb=cc5065999da6bae0caa463848ce4612d65484316;p=e-mobility-charging-stations-simulator.git diff --git a/src/worker/WorkerConstants.ts b/src/worker/WorkerConstants.ts index e7572db3..bbfcdac4 100644 --- a/src/worker/WorkerConstants.ts +++ b/src/worker/WorkerConstants.ts @@ -1,20 +1,30 @@ -import { availableParallelism } from 'poolifier'; +import { type ThreadPoolOptions, availableParallelism } from 'poolifier'; -export class WorkerConstants { - public static readonly EMPTY_FUNCTION = Object.freeze(() => { - /* This is intentional */ - }); +import type { WorkerOptions } from './WorkerTypes'; - public static readonly DEFAULT_ELEMENT_START_DELAY = 0; - public static readonly DEFAULT_WORKER_START_DELAY = 500; - public static readonly POOL_MAX_INACTIVE_TIME = 60000; - public static readonly DEFAULT_POOL_MIN_SIZE = Math.floor(availableParallelism() / 2); - public static readonly DEFAULT_POOL_MAX_SIZE = availableParallelism(); - public static readonly DEFAULT_ELEMENTS_PER_WORKER = 1; +export const EMPTY_FUNCTION = Object.freeze(() => { + /* This is intentional */ +}); - public static readonly version = '1.0.0'; +export const workerSetVersion = '1.0.1'; - private constructor() { - // This is intentional - } -} +export const DEFAULT_ELEMENT_START_DELAY = 0; +export const DEFAULT_WORKER_START_DELAY = 500; +export const POOL_MAX_INACTIVE_TIME = 60000; +export const DEFAULT_POOL_MIN_SIZE = Math.floor(availableParallelism() / 2); +export const DEFAULT_POOL_MAX_SIZE = Math.round(availableParallelism() * 1.5); +export const DEFAULT_ELEMENTS_PER_WORKER = 1; + +export const DEFAULT_WORKER_OPTIONS: WorkerOptions = Object.freeze({ + workerStartDelay: DEFAULT_WORKER_START_DELAY, + elementStartDelay: DEFAULT_ELEMENT_START_DELAY, + poolMinSize: DEFAULT_POOL_MIN_SIZE, + poolMaxSize: DEFAULT_POOL_MAX_SIZE, + elementsPerWorker: DEFAULT_ELEMENTS_PER_WORKER, + poolOptions: {}, +}); + +export const DEFAULT_POOL_OPTIONS: ThreadPoolOptions = { + enableEvents: true, + restartWorkerOnError: true, +};