UNPKG

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
{ "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" ] }