Skip to content

rapid.queue is a lightweight boss+queue+workers system built on node.js with a redis backend.

Notifications You must be signed in to change notification settings

Swizec/rapid.queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WHAT

The general idea of rapid.queue is helping people write async API's.

The way it works is:

  • listen for incoming http connections
  • get tasks from http
  • push tasks to queue
  • multiple workers pull from queue
  • once a worker is done, post result over http back to client

USAGE

The settings.js file contains some basic configuration options.

Run a redis server with default configuration. Run the boss.js with port and listening ip node boss.js 8124 127.0.0.1 Run foreman.js and it will start the workers and make sure they keep running

To get a list of tasks in a certain queue just access boss.js from your browser with a queue argument, something like so: http://127.0.0.1:8124/?list=tasks&queue=testing

You can see the logs by going to: /?list=logs

API

To add a task to the server send a POST request to your configured listener address with the following JSON data in the body:

{callback: '<where to post result>',
 queue: '<name of queue>',
 parameters: <add any other parameters>}

The task will be passed to your chosen worker function.

When processing the task is complete the same task with an added result parameter:

{callback: '<where to post result>',
 queue: '<name of queue>',
 parameters: <your parameters>,
 result: <output of your worker>}

DEPENDANCIES

About

rapid.queue is a lightweight boss+queue+workers system built on node.js with a redis backend.

Resources

Stars

Watchers

Forks

Packages

No packages published