vow-queue

Vow-based task queue

vow-queue

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 value
  • taskParams.weight=1 weight of given task
  • taskParams.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