nats-rpc
“em install ‘nats-rpc’
“
usage
servant.rb
“by require “nats-rpc”
servant = NATS::RPC::Servant.new servant.serve! ‘testing’, queue: ‘test’ do |params, subject| puts “got params: #paramsparams.inspect in subject: #subject”
params[reverse].reverse end
“
client.rb
“by client = NATS::RPC::Client.new msg = “hello” data, payload = client.request ‘testing’, msg, timeout: 1, queue: ‘test’
puts data
=>
puts payload
=> olleh
“
advanced usage
servant.rb
“by require “nats-rpc”
cluster_opts = { servers: [nats://127.0.0.1:4222, nats://127.0.0.1:4223], dont_randomize_servers: true, reconnect_time_wait: 0.5, max_reconnect_attempts: 2 }
servant = NATS::RPC::Servant.new id: “a”, cluster_opts servant.serve! ‘testing’ do |params, subject| puts “got params: #paramsparams.inspect in subject: #subject”
params[reverse].reverse end
client requests show that they were served from servant “a”
=>
“
testing
see e2e/ and docker-compose.yml