Hunting the RabbitMQ - amqplib wrapper with auto-reconnect and channel pooling
npm i elmermqElmerMQ is a wrapper around amqplib with some added functionalities:
- Auto-reconnect with auto-resubscribe to any queues
- Channel pooling with round-robin selection
- Pausing/resuming subscriptions
- Automatic processing of JSON messages
- Externalization via extol
| Name | Type | Default value | Description |
|---|---|---|---|
| ELMERMQ_PROTOCOL | string |
amqp |
Protocol (amqp or amqps) |
| ELMERMQ_HOSTNAME | string |
localhost |
Host of running RabbitMQ |
| ELMERMQ_PORT | number |
5672 | Port of running RabbitMQ |
| ELMERMQ_USERNAME | string |
guest |
Username for running RabbitMQ |
| ELMERMQ_PASSWORD | string |
guest |
Password for running RabbitMQ |
| ELMERMQ_PASSWORD_FILE | string |
none | File variant of password |
| ELMERMQ_CONNECTION_LABEL | string |
elmermq |
Connection label (shown in management console) |
| ELMERMQ_RECONNECT_INTERVAL | number |
5000 | Time in ms to delay when reconnecting |
| ELMERMQ_RECONNECT_NUM_ATTEMPTS | number |
10 | Number of retries when attempting reconnecting |
| ELMERMQ_POOL_SIZE | number |
1 | Size of pool |