cli: tweak worker queue to not spawn too many threads and use env

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2022-02-13 21:32:22 +01:00
parent 103278ecb9
commit 20b135e24e
+3 -2
View File
@@ -153,13 +153,14 @@ export type WorkerQueueThreadsOptions<TItem, TResult, TData> = {
export async function runWorkerQueueThreads<TItem, TResult, TData>(
options: WorkerQueueThreadsOptions<TItem, TResult, TData>,
): Promise<TResult[]> {
const items = Array.from(options.items);
const {
workerFactory,
workerData,
threadCount = os.cpus().length / 2,
threadCount = Math.min(getEnvironmentParallelism(), items.length),
} = options;
const iterator = options.items[Symbol.iterator]();
const iterator = items[Symbol.iterator]();
const results = new Array<TResult>();
let itemIndex = 0;