Skip to content

Repository files navigation

batch

NPM VersionNPM DownloadsBuild StatusTest Coverage

Simple async batch with concurrency control and progress reporting.

Installation

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

$ npm install batch

Usage

varBatch=require('batch')

new Batch([options], [...fns])

Create a new Batch, optionally passing an options object and/or a list of functions (fns) to queue.

The options object may contain the following keys:

  • concurrency: set the default concurrency for the Batch, which can be changed using batch.concurrency(n).
  • throws: set the default throws for the Batch, which can be changed using batch.throws(throws).

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

varBatch=require('batch'),batch=newBatch;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

About

Simple async batch with concurrency control and progress reporting

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages