UNPKG

@sncrr/async-queue

Version:

A lightweight async task queue utility with configurable concurrency, task prioritization, retries with delays, auto-run or manual execution, and cancellation (per-task or entire queue). Ideal for managing background jobs, API requests, uploads, and other

20 lines (19 loc) 539 B
import type { QueueOptions, TaskOptions } from "./types"; export declare class AsyncQueue { private concurrency; private autoRun; private queue; private running; private runningCount; private paused; constructor(options?: QueueOptions); private schedule; addTask<T>(fn: () => Promise<T>, opts?: TaskOptions): Promise<T>; cancelTask(id: string): void; deleteQueue(): void; cancelAllRunning(): void; run(): void; pause(): void; getQueued(): string[]; getRunning(): string[]; }