Skip to content

banquapp/action-pool

Repository files navigation

ActionPool

Creates a promise for each enqueued task, but limits concurrent task executions.

Usage

const util = require('util');
const delay = util.promisify(setTimeout);
const { ActionPool } = require('@banqu/action-pool');

(async function main() {

	const pool = new ActionPool({ limit: 100 });

	let lastPromise;
	for (let i = 0; i < 1000; i++) 
		lastPromise = pool.enqueue(() => delay(100));

	await lastPromise;

}());

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published