Never Pay your Mortgage

    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

    Keywords

    Install

    npm i bang-queue

    DownloadsWeekly Downloads

    52

    Version

    1.3.29

    License

    MIT

    Last publish

    Collaborators

    • hackstudio