73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/drbqs/message.rb', line 73
def send_status(calculating_task_id)
s = ''
@node_list.history.each do |node_id, events|
if events.size == 0 || events.size > 2
raise "Invalid history of nodes: #{events.inspect}"
end
connect = events[0]
s << sprintf("%4d %s\t", node_id, connect[2])
if disconnect = events[1]
s << "disconnected: (#{time_to_string(connect[0])} - #{time_to_string(disconnect[0])})\n"
else
task_ids = calculating_task_id[node_id]
s << "task: #{task_ids.map { |num| num.to_s }.join(', ')} (#{time_to_string(connect[0])})\n"
end
end
begin
@message.take([:status, nil], 0)
rescue Rinda::RequestExpiredError
end
@message.write([:status, s])
end
|