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