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 | |
da47bc29 | 12 | export const DEFAULT_ELEMENT_ADD_DELAY = 0 |
66a7748d JB |
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, | |
da47bc29 | 20 | elementAddDelay: DEFAULT_ELEMENT_ADD_DELAY, |
769d3b10 JB |
21 | poolMinSize: DEFAULT_POOL_MIN_SIZE, |
22 | poolMaxSize: DEFAULT_POOL_MAX_SIZE, | |
23 | elementsPerWorker: DEFAULT_ELEMENTS_PER_WORKER, | |
c81424b8 | 24 | poolOptions: { |
24dc52e9 | 25 | startWorkers: false, |
c81424b8 JB |
26 | enableEvents: true, |
27 | restartWorkerOnError: true, | |
66a7748d JB |
28 | errorHandler: defaultErrorHandler, |
29 | exitHandler: defaultExitHandler | |
30 | } | |
31 | }) |