UNPKG

@labset/task-pool-executor

Version:
16 lines (15 loc) 715 B
/// <reference types="node" /> import EventEmitter from 'events'; import { Runnable, TaskPoolExecutor } from './types'; export declare class SimpleTaskPoolExecutor<TOutput, TRunContext> extends EventEmitter implements TaskPoolExecutor<TOutput, TRunContext> { readonly maxConcurrent: number; readonly queue: Runnable<TOutput, TRunContext>[]; readonly current: Map<string, Promise<TOutput>>; constructor(props: { maxConcurrent: number; }); _release(taskId: string): void; _execute(taskId: string, runnable: Runnable<TOutput, TRunContext>, ctx?: TRunContext): string; submit(runnable: Runnable<TOutput, TRunContext>, ctx?: TRunContext): void; close(): Promise<TOutput[]>; }