UNPKG

dahlia-concurrency

Version:

High-level concurrency primitives and patterns for Node.js using worker_threads (queues, semaphore, mutex, worker pool, scheduler, and more)

32 lines (24 loc) 588 B
import { WorkerPool } from "../primitives/worker-pool.js"; export interface TaskPayload { [key: string]: any; } export interface WorkerTaskPayload { id: number; type: string; payload: TaskPayload; } export class Scheduler { private workerPool: WorkerPool< { modulePath: string }, WorkerTaskPayload, any >; private taskId: number; constructor(numWorkers: number, modulePath: string); start(): void; runTask<TPayload extends TaskPayload = any, TResult = any>( name: string, payload: TPayload, ): Promise<TResult>; stop(): Promise<void>; }