environment/lib/package.rb

35 lines
No EOL
969 B
Ruby

module Package
require_relative "package/daemon"
require_relative "package/client"
ENDPOINT = "ipc:///tmp/zmq-rpc-demo"
def self.make(name, scope)
puts "making package named: #{name} at #{scope}"
c = RpcClient.new(ENDPOINT, timeout_ms: 2000)
begin
puts "echo => #{c.call("echo", {"hello"=>"world"})}"
puts "add => #{c.call("add", [1, 2, 3.5])}"
puts "time => #{c.call("time")}"
rescue ::Timeout::Error
warn "RPC timeout: is the daemon running and bound to #{ENDPOINT}?"
warn "Start it with: ruby daemon.rb (or your systemd service)"
rescue => e
warn "RPC error: #{e.class}: #{e.message}"
ensure
c.close
end
end
def self.install(name, scope)
puts "making package named: #{name} at #{scope}"
end
# gem install ffi-rzmq
def self.daemon
start_daemon(ENDPOINT)
end
end