zero-backpressure-weighted-promise-semaphore
Version:
A modern weighted promise semaphore for Node.js projects, ideal for managing workloads with varying processing requirements. It allows limiting the total weight of concurrently executing jobs, ensuring efficient resource utilization. Offering backpressure
82 lines (81 loc) • 2.34 kB
JSON
{
"name": "zero-backpressure-weighted-promise-semaphore",
"version": "1.0.15",
"description": "A modern weighted promise semaphore for Node.js projects, ideal for managing workloads with varying processing requirements. It allows limiting the total weight of concurrently executing jobs, ensuring efficient resource utilization. Offering backpressure control for enhanced efficiency, utilizing a communicative API that signals availability. Additionally, it incorporates mechanisms for graceful termination and error handling, making it suitable for complex scenarios.",
"repository": {
"type": "git",
"url": "git+https://github.com/ori88c/zero-backpressure-weighted-promise-semaphore.git"
},
"contributors": [
"Ori Cohen (https://github.com/ori88c/)"
],
"homepage": "https://github.com/ori88c/zero-backpressure-weighted-promise-semaphore#readme",
"author": "Ori Cohen",
"license": "Apache-2.0",
"scripts": {
"build": "tsc",
"prepare": "npm run build",
"format": "prettier --write \"src/**/*.ts\"",
"test": "jest"
},
"keywords": [
"weighted-job",
"weighted-task",
"weighted-semaphore",
"weighted-promise",
"weighted-concurrency",
"semaphore",
"promise-semaphore",
"promise-pool",
"weighted-promise-pool",
"counting-semaphore",
"concurrency-management",
"concurrency-limit",
"concurrency-limiter",
"mutex",
"weighted-mutex",
"lock",
"job",
"task",
"task-semaphore",
"task-pool",
"concurrency",
"acquire",
"backpressure",
"graceful-termination",
"graceful-teardown",
"graceful-shutdown",
"clean-teardown",
"smooth-teardown",
"deterministic-termination",
"promise-limit",
"scheduling",
"executor",
"uncaught-error",
"uncaught-rejection",
"async",
"nodejs",
"typescript",
"ts",
"ES2020"
],
"engines": {
"node": ">=14.5.0"
},
"devDependencies": {
"@types/jest": "^29.5.14",
"jest": "^29.7.0",
"ts-jest": "^29.3.2",
"ts-node": "^10.9.2",
"typescript": "^5.5.2",
"prettier": "^3.5.3"
},
"types": "./dist/zero-backpressure-weighted-promise-semaphore.d.ts",
"main": "./dist/zero-backpressure-weighted-promise-semaphore.js",
"files": [
"src/",
"dist/",
"README.md",
"LICENSE"
]
}