interval-manager
v1.0.4
Published
Interval Manager for handling graceful shutdown
Downloads
2
Maintainers
Readme
Interval Manager
Lightweight API for setInterval
jobs with handling graceful shutdown.
Installation
npm i interval-manager
Usage
import { IntervalManager } from 'interval-manager';
const intervalManager = new IntervalManager();
// add custom interval
intervalManager.add(() => {
console.log('Called every second');
}, 1_000);
// somewhere in graceful shutdown handler
// returns a promise which will resolve when no jobs will be running
await intervalManager.close();
IntervalManager
- IntervalManager
- new IntervalManager(options)
- .add(callback, [ms])
- .close() ⇒ Promise.<undefined>
new IntervalManager(options)
| Param | Type | Description |
| ------------------- | ------------------- | ------------------------------------------------------------ |
| options | Object | |
| [options.timeoutMs] | number | Timeout for .close()
method. Default value is 60_000
ms. |
intervalManager.add(callback, [ms])
Kind: instance method of IntervalManager
| Param | Type | Description |
| -------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| callback | function | |
| [ms] | number | Schedules and registers repeated execution of callback
every ms
milliseconds. When delay is larger than 2147483647 or less than 1, the delay will be set to 1. Non-integer delays are truncated to an integer. If callback is not a function, a TypeError will be thrown. If the Interval Manager is in the closing state then doesn't schedule anything. |
intervalManager.close() ⇒ Promise.<undefined>
Switcher Interval Manager to closing state and clears all registered intervals.
Returns a promise which will resolve as soon as all interval's callbacks will be executed. Supposed to be called in graceful shutdown handler.
Will reject the promise if timeout is reached.
Kind: instance method of IntervalManager
Throws:
- Error