concurrency-task-limiter
v1.0.1
Published
Type-safe asynchronous execution concurrency queue and task rate limiter.
Maintainers
Readme
concurrency-task-limiter
Why use concurrency-task-limiter? Executing dozens of promises simultaneously overflows network links or rate limit configurations. They need to queue and limit task execution rates.
A simple concurrency scheduler and rate limiter. It queues async functions and resolves them as parallel execution slots free up.
⚡ Features
- Queues execution tasks
- Locks concurrent runs to maximum limit
- Type-safe run wrappers
📦 Installation
npm i concurrency-task-limiter🚀 Usage
import { ConcurrencyLimiter } from 'concurrency-task-limiter';
const limit = new ConcurrencyLimiter(2); // Max 2 tasks concurrently
const task = (id) => limit.run(async () => {
console.log('Start', id);
await new Promise(r => setTimeout(r, 100));
console.log('End', id);
});
Promise.all([task(1), task(2), task(3), task(4)]);⚙️ API Reference
class ConcurrencyLimiter
new ConcurrencyLimiter(limit)run(fn): Queue and run async task.
📺 Demonstration

📄 License
MIT License.
