pool-watch v1.0.1
pool-watch
A live chart renderer of the distribution of promises across a promise pool.
Current version: 1.0.1
Lead Maintainer: Halim Qarroum
Install
$ npm install --save pool-watchDescription
The pool-watch module has been written to monitor the distribution of promise executions within a promise pool instance, by displaying a live chart of the state of the promise pool executors.
This module is only compatible with a
promise-pool, and will not work for other pool implementations.
Usage
To use pool-watch, simply require it into your application.
const watch = require('pool-watch');The returned watch function takes as an input a reference to the promise pool, as well as an options object which will be forwarded to progress-string which is used to create the chart.
The options you can pass as a second argument to watch are the following :
total- (integer) The maximum amount of promises you would like to monitor (mandatory).width- (integer, default: 42) The width of the progress bar in charsincomplete- (string, default:-) The char used to indicate the incomplete part of the progress barcomplete- (string, default:=) The char used to indicate the completed part of the progress barstyle- (function, optional) Seeoptions.stylebelow for details
For more informations on the
options object, see theprogress-stringmodule.
Return value
The returned value of a call to the watch function is a Node.js Stream, allowing you to .pipe() the live chart to any writable stream (e.g process.stdout, or a net.Socket for remote monitoring with netcat).
Example
// Creating the promise pool with `5` executors.
const pool = new Pool(5);
// The number of promises we'll insert.
const total = 1000;
// Configuring `watch` to display the live chart on `stdout`.
watch(pool, { total }).pipe(process.stdout);
// Scheduling promises in the pool.
for (let i = 0; i < total; ++i) {
pool.schedule(() => new Promise((r) => setTimeout(r, 200)));
}