https://github.com/runnerty/executor-amqp
Runnerty module: AMQP Publisher
https://github.com/runnerty/executor-amqp
Last synced: over 1 year ago
JSON representation
Runnerty module: AMQP Publisher
- Host: GitHub
- URL: https://github.com/runnerty/executor-amqp
- Owner: runnerty
- License: mit
- Created: 2020-11-08T12:06:37.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-02-05T18:49:55.000Z (over 4 years ago)
- Last Synced: 2024-03-22T20:52:35.672Z (about 2 years ago)
- Language: JavaScript
- Size: 120 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Smart Processes Management
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Dependency Status][david-badge]][david-badge-url]
# Executor for [Runnerty]: AMQP
Module AMQP (Advanced Message Queuing Protocol) 0-9-1 Publisher.
This is a wrapper from the [amqplib](https://github.com/squaremo/amqp.node)
### Installation:
```bash
npm i @runnerty/executor-amqp
```
### Configuration:
Add in [config.json]:
##### Simple:
```json
{
"id": "amqp_default",
"type": "@runnerty-executor-amqp",
"hostname": "localhost"
}
```
##### All parameters:
```json
{
"id": "amqp_default",
"type": "@runnerty-executor-amqp",
"protocol": "amqp",
"hostname": "localhost",
"port": 5672,
"username": "guest",
"password": "guest",
"locale": "en_US",
"frameMax": 1000,
"heartbeat": 0,
"vhost": "/",
"options": {
"expiration": 10000,
"userId": "myUserId",
"CC": "myCC",
"BCC": ["bcc1,bcc2"],
"mandatory": false,
"persistent": true,
"deliveryMode": true,
"contentType": "myContentType",
"contentEncoding": "myContentEncoding",
"headers": { "header": "value" },
"priority": 9,
"correlationId": "myCorrelationId",
"replyTo": "myReplyTo",
"messageId": "myMessageId",
"timestamp": 999999999,
"type": "myType",
"appId": "myAppId"
}
}
```
### Plan sample:
Add in [plan.json]:
##### Exange:
```json
{
"id": "amqp_default",
"exange": "MY_EXANGE",
"exangeType": "direct",
"routingKey": "runnerty.test.#",
"message": "My message from Runnerty!",
"options": {
"persistent": true
}
}
```
##### Or direct to Queue:
```json
{
"id": "amqp_default",
"queue": "MY_QUEUE",
"message": "My message from Runnerty!",
"options": {
"priority": 10
}
}
```
### Connection parameters
| Option | Type | Description |
| :-------- | :----- | :-------------------------------------------------------------------- |
| protocol | string | The to be used protocol: "amqp" or "amqps". Default value: 'amqp'. |
| hostname | string | Hostname. Default value: 'localhost' |
| port | string | Port. Default value: 5672 |
| username | string | Username. Default value: 'guest' |
| password | string | Password. Default value: 'guest' |
| locale | string | Password. Default value: 'en_US' |
| frameMax | number | The size in bytes of the maximum frame allowed. Default value: 0x1000 |
| heartbeat | number | The period of the connection heartbeat in seconds. Default value: 0 |
| vhost | string | What VHost shall be used. Default value: '/' |
### Message options
##### Can be set in `config` as default or in the process. The value indicated in the process overwrites the one indicated in `config`.
| Option | Type |
| :-------------- | :----------------- |
| expiration | string/number |
| userId | string |
| CC | string/string[] |
| BCC | string/string[] |
| mandatory | boolean |
| persistent | boolean |
| deliveryMode | boolean/number |
| contentType | string |
| contentEncoding | string |
| headers | object (key:value) |
| priority | number |
| correlationId | string |
| replyTo | string |
| messageId | string |
| timestamp | number |
| type | string |
| appId | string |
More information in amqp-lib [api reference](http://squaremo.github.com/amqp.node/channel_api.html)
### Output (Process values):
- `PROCESS_EXEC_MSG_OUTPUT`: Log operations message.
- `PROCESS_EXEC_ERR_OUTPUT`: Error output message.
[runnerty]: http://www.runnerty.io
[downloads-image]: https://img.shields.io/npm/dm/@runnerty/executor-amqp.svg
[npm-url]: https://www.npmjs.com/package/@runnerty/executor-amqp
[npm-image]: https://img.shields.io/npm/v/@runnerty/executor-amqp.svg
[david-badge]: https://david-dm.org/runnerty/executor-amqp.svg
[david-badge-url]: https://david-dm.org/runnerty/executor-amqp
[config.json]: http://docs.runnerty.io/config/
[plan.json]: http://docs.runnerty.io/plan/