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
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
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>}