vow-queue is a module for task queue with weights and priorities
Module can be installed using npm
:
npm install vow-queue
or bower
:
bower install vow-queue
var Queue = require('vow-queue'),
queue = new Queue({ weightLimit : 10 });
queue.enqueue(function() { // simple function
return 2 * 2;
});
queue.enqueue(function() { // function returns a promise
// do job
return promise;
});
queue.enqueue( // task with custom priority and weight
function() {
// do job
},
{
priority : 3, // this task will be started before the previous two
weight : 5
});
queue.start(); // starts tasks processing
queue.enqueue(function() { }); // and enqueue yet another task
params.weightLimit=100
limit of summary tasks weight which can be processed concurrently
Enqueue given task in queue
taskFn
task function which can return either a promise or a valuetaskParams.weight=1
weight of given tasktaskParams.priority=1
priority of given task
Returns promise which will be resolved when given task is done
Starts processing of tasks in queue
Stops processing of tasks in queue
Returns whether processing is started
Sets queue params
params.weightLimit=100
limit of summary tasks weight which can be processed concurrently
Returns statistics about queue