2.3.4 • Published 5 years ago

node_amqp_rpc v2.3.4

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

node-amqp-rpc( Promise )

Version   License   Download Stats

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: / )
  • init () - Need to be execute before callRPC and onRPC
  • callRPC ( QueueName, Data, Timeout ) - QueueName ( String | Required ) - queue name
    - Data ( Object | Required ) - data you want to send - Timeout ( Integer | Option | Default: 30 ) - timeout seconds
  • onRPC ( 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 send
  • close () - 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.

2.3.4

5 years ago

2.3.3

6 years ago

2.3.2

6 years ago

2.3.1

6 years ago

2.3.0

6 years ago

2.2.2

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.0.0

6 years ago