Skip to content

Given a set of basic requirements you are required to set up a basic job queue library for Node.js and a database of your choice.

Notifications You must be signed in to change notification settings

Conorc1000/Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

simpleJobQ

This is a job queue library, using redis and built for node.js

Installation

  • Latest release:

    $ npm install simple-job-q
    

To use this module you must have a redis server running on port 6379

Features

  • Connect to the redis server
  • Publish jobs to a job queue
  • Subscribe to a job queue
  • Empty job que
  • Quit the redis connection

Connecting to the redis database

Calling simpleJobQ.connect() will connect you to the redis database. You must have a redis server running on port 6379. connect takes a callback, which is called with an error if the connection was unsuccessful.

 simpleJobQ.connect((error) => {
   console.log('error')
 }

Publishing a job

Calling simpleJobQ.publish() will publish a job to the database. The function takes two parameters, queName which must be a string and data. simpleJobQ.publish takes a callback, which is called with an error if the publish was unsuccessful.

 simpleJobQ.publish( 'queName', {someData}, (error) => {
   console.log('error')
 }

Subscribing to a job queue

Calling simpleJobQ.subscribe() will retrieve the next job in the que. The function takes one parameter, queName which must be a string. simpleJobQ.subscribe takes a callback callback, which is called with an error if the subscribe was unsuccessful. If successful the callback will also be called with job and done. You can put the job back into the job queue with and error property attached to it, by calling done(error).

 simpleJobQ.subscribe(queueName1, (error, job, done) => {

   //do something with the job

   //if the job cant be handled
   done(error)
 }

##Possible Improvements

  • Start the Redis server for the user using a module like redis-server so they dont have to.
  • Have the exposed functions use promises instead of callbacks, or give the option of using both.

About

Given a set of basic requirements you are required to set up a basic job queue library for Node.js and a database of your choice.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published