bang-queue

1.3.29 • Public • Published

Bang-queue

Bang is a mongoDB queue (FIFO) designed for NodeJS.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Installing

Install bang-queue from npm

npm install bang-queue

Use queue

Create a new Bang object

MONGO_URI : your mongo uri connection QUEUE_NAME : queue name here params : params with two parameters : {REFRESH_DELAY:time in ms,DEFAULT_TIMEOUT:time in ms}

REFRESH_DELAY : polling interval (default 200ms) DEFAULT_TIMEOUT : polling interval (default 50000 ms)

const Bang = new Bang.Bang(MONGO_URI,QUEUE_NAME,params)

Creating jobs

Create a new job

jobtype : Type of job arguments : data that will be send when job will occured. Ex : {created:new Date} params : job configuration object. {timeout:50000,delay:5000}

Default timeout : 50000 Default delay : 0

Bang.createJob(jobtype,arguments,params)
.then((result)=>{
    res.json({result})
})
.catch((e)=>{
    res.json({e})
})

Listening event

Start listening for new job

const Bang = new Bang('your mongo uri connection','queue name here')

Bang.on('job_type',10,(err,data)=>{ if(err){ console.log(err) }else if(job){ // process your job here // job._id // job.arguments } })

Complete and delete job

Complete and delete a job. Job not deleted will stay in queue and will be repush in the queue. You should delete completed job.

Bang.setCompleteJob(job._id,{delete:true})
.then((result)=>{
    // Job deleted
})
.catch((e)=>{
    // catch error here
})

Authors

  • Tchangang Boris-Emmanuel - Initial work

License

This project is licensed under the MIT License

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i bang-queue

    Weekly Downloads

    0

    Version

    1.3.29

    License

    MIT

    Last publish

    Collaborators

    • hackstudio