@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
TypeScript
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[];
}