2.3.4 • Published 5 years ago
node_amqp_rpc v2.3.4
node-amqp-rpc( Promise )
Library to help you use amqp RPC on easy way.
Installation
To install randomstring, use npm:
npm install node_amqp_rpc
Usage
Quick Start
const amqp_api = require('node_amqp_rpc');
(async () => {
const amqp = await amqp_api.quickStart( 'amqp://guest:guest@localhost:5672/');
const queueName = 'hello.word';
amqp.onRPC( queueName, ( data, send) => {
console.log( data);
// { value: 'hello world' }
send( { value: 'consumer say hello to you' });
});
const data = { value: 'hello world' };
const result = await amqp.callRPC( queueName, data);
console.log( result);
// { value: 'consumer say hello to you' }
})();
producer
const amqp_api = require('node_amqp_rpc');
(async () => {
const amqp = new amqp_api({
host : 'localhost',
port : 5672,
user : 'guest',
password : 'guest',
vhost : '/'
});
await amqp.init();
const queueName = 'hello.word';
const data = { value: 'hello world' };
const result = await amqp.callRPC( queueName, data);
console.log( result);
// { value: 'consumer say hello to you' }
})();
consumer
const amqp_api = require('node_amqp_rpc');
(async () => {
const amqp = new amqp_api({
host : 'localhost',
port : 5672,
user : 'guest',
password : 'guest',
vhost : '/'
});
await amqp.init();
const queueName = 'hello.word';
amqp.onRPC( queueName, ( data, send) => {
console.log( data);
// { value: 'hello world' }
send( { value: 'consumer say hello to you' });
});
})();
API
- constructor ( Object | String )
-
Object
- host - Your amqp server address ( Type: String || default: localhost) - port - AMQP server port( Type: Integer || default: 5672 ) - user - The amqp account which you want to login ( Type: String ) - password - password ( Type: String ) - vhost - Virtual Hosts( Type: String || default: / )String
- amqps://user:password@hostname:port - ex. amqp://guest:guest@localhost:5672/
init
() - Need to be execute before callRPC and onRPCcallRPC
( QueueName, Data, Timeout ) -QueueName
( String | Required ) - queue name
-Data
( Object | Required ) - data you want to send -Timeout
( Integer | Option | Default: 30 ) - timeout secondsonRPC
( QueueName, DoSomething ) -QueueName
( String | Required ) - queue name -DoSomething
( Function | Required ) - Receives the following arguments - data ( Object ) - send ( Function )quickStart
( Object | String )Object
- host - Your amqp server address ( Type: String || default: localhost) - port - AMQP server port( Type: Integer || default: 5672 ) - user - The amqp account which you want to login ( Type: String ) - password - password ( Type: String ) - vhost - Virtual Hosts( Type: String || default: / )String
- amqps://user:password@hostname:port - ex. amqp://guest:guest@localhost:5672/
callPublish
( exchange, routingKey, Data) -exchange
( String | Required ) -routingKey
( String | Required ) -Data
( Object | Required ) - data you want to sendclose
() - Close amqp connection
HISTORY
- v1.0.0 - Publish.
- v2.0.0 - Turn library in to ES6 Classes. - Connection config field 'pass' rename to 'password'. - Set default value for field ( host, port ).
- v2.1.0 - Add quickStart method. - Add connection close method. - accept amqp url to start connection.
- v2.2.0 - Support multi connection
- v2.3.0 - Add callPublish method.
LICENSE
node_amqp_rpc is licensed under the MIT license.