mirror of
https://github.com/harish2704/node-job-manager.git
synced 2026-09-10 13:11:08 +00:00
initial code
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
var JobManager = require('../src/JobManager.js').JobManager;
|
||||
var utils = require('../src/utils.js');
|
||||
var range = utils.range;
|
||||
|
||||
var wrks = range(400000);
|
||||
wrks.forEach( function(v,k){
|
||||
wrks[k] = function(data,cb){
|
||||
var self = this;
|
||||
process.nextTick(function(){
|
||||
// console.log( 'I am done: ', v );
|
||||
cb( null, data);
|
||||
} );
|
||||
};
|
||||
wrks[k].id = v;
|
||||
});
|
||||
|
||||
var tStart = 0;
|
||||
var getTasks = function(){
|
||||
var i, out=[];
|
||||
for( i = 0; i< 1000; i++, tStart++ ){
|
||||
out[i] = tStart;
|
||||
}
|
||||
return out;
|
||||
};
|
||||
|
||||
var tasks = getTasks();
|
||||
|
||||
var jm = new JobManager({concurrency:3});
|
||||
jm.tasks = tasks;
|
||||
jm.workers = wrks;
|
||||
jm.onError = function(err, task, worker ){
|
||||
console.log( 'Error...', arguments );
|
||||
};
|
||||
|
||||
jm.work = function(task, worker, cb){
|
||||
// console.log( 'Worker ', worker.id, ' with ', task );
|
||||
return worker( task, cb );
|
||||
};
|
||||
jm.onLoadMore = function( cb ){
|
||||
console.log( 'Loading......');
|
||||
this.tasks = this.tasks.concat( getTasks() );
|
||||
return cb();
|
||||
};
|
||||
jm.start();
|
||||
Reference in New Issue
Block a user