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
|