bodacious

0.6.0 • Public • Published

Bodacious

Bodacious logo

Persistently add, pause, resume tasks on your server without the fear of loosing your memory data from a crash. Originally conceived as an upgrade of Bull to support multiple stores.

Features

  • Multi-store support
  • Serial or parallel execution
  • Auto-run when new jobs arrive

...

Install

Using npm

npm install bodacious

Usage

var Queue = require('bodacious');

var queue = Queue('my_queue'); // name should not have spaces...

queue.process(function(job, done){
    // execute asynchronously and report progress
    job.progress(42);

    // call done when finished
    done();

    // or give a error if error
    done(Error('there was an error'));

    // or pass it a result
    done(null, { ...[response]... });

    // If the job throws an unhandled exception it is also handled correctly
    throw (Error('some unexpected error'));
});

queue.add({ ...[data]... });

A queue can be paused and resumed:

queue.pause(function(){
  // queue is paused now
});

queue.resume(function(){
  // queue is resumed now
});

A queue emits also some useful events:

.on('ready', function() {
  // Queue ready for job
})
.on('error', function(error) {
  // Error
})
.on('active', function(job){
  // Job started
})
.on('progress', function(job, progress){
  // Job progress updated!
})
.on('completed', function(job, result){
  // Job completed with output result!
})
.on('failed', function(job, err){
  // Job failed with reason err!
})
.on('paused', function(){
  // The queue has been paused
})
.on('resumed', function(job){
  // The queue has been resumed
})
.on('cleaned', function(jobs, type) {
  //jobs is an array of cleaned jobs
  //type is the type of job cleaned
  //see clean for details
});

Credits

Initiated by Makis Tracend ( @tracend )

Distributed through Makesites.org

Thanks

Originally based on Bull by OptimalBits

License

Released under the MIT license

Readme

Keywords

Package Sidebar

Install

npm i bodacious

Weekly Downloads

1

Version

0.6.0

License

MIT

Last publish

Collaborators

  • makesites