Method: Pmux::Application#show_status

Defined in:
lib/pmux/application.rb

#show_status(addrs, options) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/pmux/application.rb', line 113

def show_status addrs, options
  addrs = ['localhost'] if addrs.empty?
  adapter = StorageAdapter.create options[:storage_name], addrs
  msession = MRSession.new addrs, options
  msession.on_error {|addr, err| $stderr.printf "%s: %s\n", addr, err.to_s}
  msession.connect

  mf = msession.multicast_call_async :get_properties
  templ = "%s: %s %s, num_cpu=%s, ruby %s\n"
  mf.on_success {|f|
    props = f.get
    print templ % [props['hostname'],
      props['program_name'], props['VERSION'],
      props['num_cpu'], props['RUBY_VERSION']]
  }
  mf.on_error {|f| printf "%s: ERROR: %s\n", f.addr, f.error}
  mf.join_all

  msession.on_error {}
  mf = msession.multicast_call_async :quit
  mf.join_all
end