The eventedQueue collects jobs in the form of callbacks supplied with an arbitrary number of arguments. When the queue is triggered, the jobs will be executed.
$ npm install eventedqueue
var EventedQueue = require('eventedqueue');
var myQueue = EventedQueue();
var job = function(name) {
console.log('job "' + name + '" executed');
};
myQueue.push(job, 'foo');
myQueue.push(job, 'bar');
myQueue.push(job, 'bax');
setTimeout(function() {
myQueue.trigger();
}, 1000);
/*
output:
job "foo" executed
job "bar" executed
job "bax" executed
*/
Creates a new eventedQueue that accepts jobs and can be triggered to execute these jobs.
The optional parameter autoRelock
specifies if the queue should trigger jobs, that are subsequently pushed after the queue has been triggered, automatically. default: false
Adds a new job to the eventedQueue. An arbitrary number of parameters can be supplied and are optional.
Triggers the queue and causes all enqueued jobs to be executed.
If autoRelock
is set to false via the relock
command the queue can be set to enque jobs again.
Returns the number of enqueued jobs.
An optional callback that is called when the queue is emptied.