54 lines
		
	
	
		
			731 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			731 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
 | 
						|
# batch
 | 
						|
 | 
						|
  Simple async batch with concurrency control and progress reporting.
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
```
 | 
						|
$ npm install batch
 | 
						|
```
 | 
						|
 | 
						|
## API
 | 
						|
 | 
						|
```js
 | 
						|
var Batch = require('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){
 | 
						|
 | 
						|
});
 | 
						|
```
 | 
						|
 | 
						|
### Progress events
 | 
						|
 | 
						|
  Contain 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 }
 | 
						|
```
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
[MIT](LICENSE)
 |