0.6.3 • Published 2 years ago

@r-token/batch v0.6.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

batch

NPM Version NPM Downloads Build Status Test Coverage

Simple async batch with concurrency control and progress reporting. Forked from visionmedia/batch. All this fork does is update the reference to the nonexistent 'emitter' package so it bundles properly with esbuild.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install @r-token/batch

Usage

var Batch = require('@r-token/batch')

new Batch([...fns])

Create a new Batch.

batch.concurrency(n)

Set concurrency to n.

batch.end([cb])

Execute all queued functions in parallel, executing cb(err, results).

batch.push(fn)

Queue a function.

batch.throws(throws)

Set whether Batch will or will not throw up.

progress event

Contains the "job" index, response value, duration information, and completion data.

{ index: 1,
  value: 'bar',
  pending: 2,
  total: 3,
  complete: 2,
  percent: 66,
  start: Thu Oct 04 2012 12:25:53 GMT-0700 (PDT),
  end: Thu Oct 04 2012 12:25:53 GMT-0700 (PDT),
  duration: 0 }

Example

var Batch = require('@r-token/batch')
  , batch = new Batch;

batch.concurrency(4);

ids.forEach(function(id){
  batch.push(function(done){
    User.get(id, done);
  });
});

batch.on('progress', function(e){

});

batch.end(function(err, users){

});

License

MIT