nibi

1.1.2 • Public • Published

OFF-SQS: Manage Amazon SQS and RabbitMQ on node.js

This easy manager provides the basic functionality to use Amazon SQS in production enviroment and RabbitMQ in development enviroment. To start using it just clone it or install it via npm npm install off-sqs-debearloper.

Amazon SQS settings

You need to add yours AWS keys in a JSON file, something like this:

    {
        "accessKeyId": "STRING",
        "secretAccessKey": "STRING",
        "region": "STRING"
    }

Note: that every operation checks first if the Queue exists, if not it'll create it.**

RabbitMQ settings

To work with RabbitMQ, you need to install the Server. We recommend you to do it with homebrew, so you dont have to set up the server manually when you are in the development environment.

Before installing make sure you have the latest brews: brew update

Then, install RabbitMQ server with:

brew install rabbitmq

Enviroments

development is the enviroment by default. If you want to use production or qa execute your node app in this way:

NODE_ENV=production node yourApp.js
//or
NODE_ENV=qa node yourApp.js

Methods

Import and declare

var Nibi = require('nibi');
var nibi = new Nibi();

Configure

  • Params: an object with the configure params.
  • Returns: nothing.

if you want to use AmazonSQS with this modul, you need make this

//require your own aws json file
var myAwsConfigFile = require('./myAwsConfigFile');

nibi.configure({
  awsConfigFile: myAwsConfigFile
});

Sender()

  • Params: the name of the SQS queue and the data you want to send.
  • Returns: nothing.

Usage:

offSqs.sender('myQueueName', ["foo": "bar"]);

Receiver()

  • Params: the name of the SQS queue.
  • Return: A promise which will become a tuple of receiver a function and queueUrl a string.

Usage:

   offSqs.receiver('myQueue', yourDataManager);

Note: Where yourDataManager is a function that receives every message on the queue, so you can easyly customize your data miner. Something like: `myMiner(messageOfTheQueue);``

Example

    var printData = function(data){
       console.log(data)
    }

    offSqs.receiver("queueName", printData)

getQueueUrl()

  • Params: The name of the SQS Queue.
  • Returns: A promise, which will become the url of the Queue.

Usage:

    offSqs.getQueueUrl('myQueue').then(function('myQueueURL'){
    	return myQueueURL;
    });

parseMessage()

  • Params: Data received by SQS Queues.
  • Returns: The cleaned data of the body as array.

Usage:

offSqs.parseMessage(data);

Readme

Keywords

Package Sidebar

Install

npm i nibi

Weekly Downloads

0

Version

1.1.2

License

none

Last publish

Collaborators

  • debearloper
  • sospedra