qinglong/back/shared/pLimit.ts
2023-06-18 15:51:35 +08:00

18 lines
365 B
TypeScript

import pLimit from "p-limit";
import os from 'os';
const cpuLimit = pLimit(os.cpus().length);
const oneLimit = pLimit(1);
export function runWithCpuLimit<T>(fn: () => Promise<T>): Promise<T> {
return cpuLimit(() => {
return fn();
});
}
export function runOneByOne<T>(fn: () => Promise<T>): Promise<T> {
return oneLimit(() => {
return fn();
});
}