RabbitMQ plugin for Notif.me SDK.
Features
-
Easy integration — Just plug and play.
-
Breakdown management — Try to reconnect automatically if connection to queue is lost, and let you choose what to do with notification requests in the meantime.
-
MIT license — Use it like you want.
Getting Started
In your application
$ yarn add notifme-sdk-queue-rabbitmq
const notificationService = url: 'amqp://localhost' notificationService
In your worker
$ yarn add notifme-sdk notifme-sdk-queue-rabbitmq
const notifmeSdk = /* * Define all your providers here. * (see documentation: https://github.com/notifme/notifme-sdk#2-providers) */ const notifmeWorker = notifmeSdk url: 'amqp://localhost' notifmeWorker
See a complete working example for more details.
How to use
Producer options
keepRequestsInMemoryWhileConnecting: ... url: ... amqpOptions: ... queueName: ... isPersistent: ... reconnectDelaySecond: ...
Option name | Type | Default | Description |
---|---|---|---|
keepRequestsInMemoryWhileConnecting |
boolean |
false |
Should the requests be kept in memory while queue is (re)connecting? If set to true , may cause memory overflow. |
url |
string |
'amqp://localhost' |
RabbitMQ URL. See amqplib documentation. |
amqpOptions |
Object |
{} |
Connection options. See amqplib documentation. |
queueName |
string |
'notifme:request' |
Name of the queue to use. |
isPersistent |
boolean |
true |
Is the queue persistent? |
reconnectDelaySecond |
number |
30 |
Time in second to wait between two reconnection tries. |
Consumer options
url: ... amqpOptions: ... queueName: ... isPersistent: ... reconnectDelaySecond: ...
Option name | Type | Default | Description |
---|---|---|---|
url |
string |
'amqp://localhost' |
RabbitMQ URL. See amqplib documentation. |
amqpOptions |
Object |
{} |
Connection options. See amqplib documentation. |
queueName |
string |
'notifme:request' |
Name of the queue to use. |
isPersistent |
boolean |
true |
Is the queue persistent? |
reconnectDelaySecond |
number |
30 |
Time in second to wait between two reconnection tries. |
Contributing
Contributions are very welcome!
To get started: fork this repository to your own GitHub account and then clone it to your local device.
$ git clone git@github.com:[YOUR_USERNAME]/notifme-sdk-queue-rabbitmq.git && cd notifme-sdk-queue-rabbitmq$ yarn install
Need Help? Found a bug?
Submit an issue to the project Github if you need any help. And, of course, feel free to submit pull requests with bug fixes or changes.