Commit | Line | Data |
---|---|---|
769d3b10 | 1 | import { type ThreadPoolOptions, availableParallelism } from 'poolifier'; |
60d1f5b0 | 2 | |
769d3b10 | 3 | import type { WorkerOptions } from './WorkerTypes'; |
59b6ed8d | 4 | |
769d3b10 JB |
5 | export const EMPTY_FUNCTION = Object.freeze(() => { |
6 | /* This is intentional */ | |
7 | }); | |
4db8406c | 8 | |
769d3b10 | 9 | export const workerSetVersion = '1.0.1'; |
628c30e5 | 10 | |
769d3b10 JB |
11 | export const DEFAULT_ELEMENT_START_DELAY = 0; |
12 | export const DEFAULT_WORKER_START_DELAY = 500; | |
769d3b10 JB |
13 | export const DEFAULT_POOL_MIN_SIZE = Math.floor(availableParallelism() / 2); |
14 | export const DEFAULT_POOL_MAX_SIZE = Math.round(availableParallelism() * 1.5); | |
15 | export const DEFAULT_ELEMENTS_PER_WORKER = 1; | |
16 | ||
17 | export const DEFAULT_WORKER_OPTIONS: WorkerOptions = Object.freeze({ | |
18 | workerStartDelay: DEFAULT_WORKER_START_DELAY, | |
19 | elementStartDelay: DEFAULT_ELEMENT_START_DELAY, | |
20 | poolMinSize: DEFAULT_POOL_MIN_SIZE, | |
21 | poolMaxSize: DEFAULT_POOL_MAX_SIZE, | |
22 | elementsPerWorker: DEFAULT_ELEMENTS_PER_WORKER, | |
23 | poolOptions: {}, | |
24 | }); | |
25 | ||
26 | export const DEFAULT_POOL_OPTIONS: ThreadPoolOptions = { | |
27 | enableEvents: true, | |
28 | restartWorkerOnError: true, | |
29 | }; |