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)
 |