1 import { type ThreadPoolOptions
, availableParallelism
} from
'poolifier';
3 import type { WorkerOptions
} from
'./WorkerTypes';
5 export const EMPTY_FUNCTION
= Object.freeze(() => {
6 /* This is intentional */
9 export const workerSetVersion
= '1.0.1';
11 export const DEFAULT_ELEMENT_START_DELAY
= 0;
12 export const DEFAULT_WORKER_START_DELAY
= 500;
13 export const POOL_MAX_INACTIVE_TIME
= 60000;
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;
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
,
27 export const DEFAULT_POOL_OPTIONS
: ThreadPoolOptions
= {
29 restartWorkerOnError
: true,