@lzwme/m3u8-dl
Version:
A free, open-source, and powerful m3u8 video batch downloader with multi-threaded downloading, play-while-downloading, WebUI management, video parsing, and more.
20 lines (19 loc) • 694 B
TypeScript
import { EventEmitter } from 'node:events';
type WorkerPoolCallback<R> = (err: Error, result: R, startTime: number) => void;
export declare class WorkerPool<T = unknown, R = unknown> extends EventEmitter {
private processorFile;
numThreads: number;
private workers;
private freeWorkers;
private workerTaskInfo;
private tasks;
get totalTask(): number;
get totalNum(): number;
get freeNum(): number;
constructor(processorFile: string, numThreads?: number);
addNewWorker(processorFile?: string): void;
runTask(task: T, callback: WorkerPoolCallback<R>): void;
removeTask(task: T | ((task: T) => boolean)): number;
close(): void;
}
export {};