Class: ModernTimes::JMS::Supervisor
Instance Attribute Summary
#manager, #name, #worker_klass, #worker_options, #workers
Instance Method Summary
collapse
#join, #mbean_description, #mbean_name, #stop, #stopped?, #worker_count, #worker_count=, #worker_statuses
Constructor Details
#initialize(manager, worker_name, supervisor_options, worker_options) ⇒ Supervisor
5
6
7
|
# File 'lib/modern_times/jms/supervisor.rb', line 5
def initialize(manager, worker_name, supervisor_options, worker_options)
super
end
|
Instance Method Details
#average_response_time ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/modern_times/jms/supervisor.rb', line 13
def average_response_time
count = 0
total = 0.0
workers.each do |w|
pair = w.time_track.total_time_reset
count += pair.first
total += pair.last
end
return 0.0 if count == 0
return total / count
end
|
#create_mbean(domain) ⇒ Object
Make JMS::SupervisorMBean our mbean
44
45
46
|
# File 'lib/modern_times/jms/supervisor.rb', line 44
def create_mbean(domain)
SupervisorMBean.new(mbean_name(domain), mbean_description, self, {})
end
|
#max_response_time ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/modern_times/jms/supervisor.rb', line 34
def max_response_time
max_time = 0.0
workers.each do |w|
wmax_time = w.time_track.max_time_reset
max_time = wmax_time if wmax_time > max_time
end
return max_time
end
|
#message_counts ⇒ Object
9
10
11
|
# File 'lib/modern_times/jms/supervisor.rb', line 9
def message_counts
workers.map { |w| w.message_count }
end
|
#min_response_time ⇒ Object
25
26
27
28
29
30
31
32
|
# File 'lib/modern_times/jms/supervisor.rb', line 25
def min_response_time
min_time = nil
workers.each do |w|
wmin_time = w.time_track.min_time_reset
min_time = wmin_time if wmin_time && (!min_time || wmin_time < min_time)
end
return min_time || 0.0
end
|