@kollorg/nemo-omnis v2.10.98
Interval Manager
Lightweight API for setInterval
jobs with handling graceful shutdown.
Installation
npm i @kollorg/nemo-omnis
Usage
import { IntervalManager } from '@kollorg/nemo-omnis';
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
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago