Class: LontaraUtilities::RMQ::Server::RPCConsumer
- Inherits:
-
Object
- Object
- LontaraUtilities::RMQ::Server::RPCConsumer
- Defined in:
- lib/lontara_utilities/rmq/server/rpc_consumer.rb
Overview
Server for AMQ on RPC Pattern,m
Instance Method Summary collapse
-
#initialize(connection, queue:) ⇒ RPCConsumer
constructor
A new instance of RPCConsumer.
-
#start ⇒ Object
Start consuming the queue, process the request, and publish the response.
Constructor Details
#initialize(connection, queue:) ⇒ RPCConsumer
Returns a new instance of RPCConsumer.
8 9 10 11 12 |
# File 'lib/lontara_utilities/rmq/server/rpc_consumer.rb', line 8 def initialize(connection, queue:) @channel = connection.channel @exchange = connection.exchange @queue = channel.queue(queue, durable: true) end |
Instance Method Details
#start ⇒ Object
Start consuming the queue, process the request, and publish the response.
15 16 17 18 19 20 21 |
# File 'lib/lontara_utilities/rmq/server/rpc_consumer.rb', line 15 def start queue.subscribe do |_, properties, payload| @request = JSON.parse(payload, symbolize_names: true) publish_response(properties.reply_to, properties.correlation_id) end end |