non-overlapping-periodic-job-scheduler
Version:
Periodic job scheduler for Node.js that ensures non-overlapping executions and supports graceful teardown with resource deallocation. It dynamically calculates intervals based on user-defined logic, considering the duration and any error thrown by the las
80 lines (79 loc) • 2.09 kB
JSON
{
"name": "non-overlapping-periodic-job-scheduler",
"version": "4.0.0",
"description": "Periodic job scheduler for Node.js that ensures non-overlapping executions and supports graceful teardown with resource deallocation. It dynamically calculates intervals based on user-defined logic, considering the duration and any error thrown by the last execution. The package includes robust error handling, making it ideal for complex scenarios requiring controlled execution flows.",
"repository": {
"type": "git",
"url": "git+https://github.com/ori88c/non-overlapping-periodic-job-scheduler.git"
},
"contributors": [
"Ori Cohen (https://github.com/ori88c/)"
],
"homepage": "https://github.com/ori88c/non-overlapping-periodic-job-scheduler#readme",
"author": "Ori Cohen",
"license": "Apache-2.0",
"scripts": {
"format": "prettier --write \"src/**/*.ts\"",
"build": "tsc",
"prepare": "npm run build",
"test": "jest"
},
"keywords": [
"periodic",
"recurring",
"job",
"task",
"scheduler",
"periodic-job",
"periodic-task",
"recurring-job",
"recurring-task",
"non-overlap",
"non-overlapping",
"graceful-teardown",
"graceful-shutdown",
"smooth-teardown",
"smooth-shutdown",
"resource-cleanup",
"disjoint-interval",
"disjoint-executions",
"disjoint-runs",
"time-interval",
"dynamic-interval",
"flexible-interval",
"customized-interval",
"runtime-factors",
"adaptable-schedule",
"executor",
"executions",
"task-manager",
"task-scheduler",
"job-manager",
"job-scheduler",
"async",
"runner",
"execution",
"typescript",
"ts",
"nodejs"
],
"engines": {
"node": ">=14.5.0"
},
"devDependencies": {
"@types/jest": "^29.5.12",
"jest": "^29.7.0",
"prettier": "^3.5.3",
"ts-jest": "^29.1.5",
"ts-node": "^10.9.2",
"typescript": "^5.5.2"
},
"types": "./dist/index.d.ts",
"main": "./dist/index.js",
"files": [
"src/",
"dist/",
"README.md",
"LICENSE"
]
}