UNPKG

fair-queue

Version:

A fair, queue-based rate-limiting library with configurable selection modes, balancing queue size and wait time to prioritize task processing.

18 lines (17 loc) 613 B
export type FairQueueConfig = { /** e.g. 1 year */ initial_duration: number; debug?: boolean; /** Selection mode: 'randomized' (default) or 'deterministic' */ mode?: 'randomized' | 'deterministic'; }; export declare function createFairQueue<Task>(config: FairQueueConfig): FairQueue<Task>; export declare class FairQueue<Task> { config: FairQueueConfig; private user_queues; constructor(config: FairQueueConfig); enqueue(user_id: string | number, task: Task): void; dequeue(): Task | null; dequeue_randomized(): Task | null; dequeue_deterministic(): Task | null; }