Class: SimpleWorker::EventMonitor
Instance Attribute Summary collapse
Instance Method Summary
collapse
#on_interrupted, #on_log, #on_stop, #on_task_active, #on_timeout
Constructor Details
#initialize(start_time = Time.now) ⇒ EventMonitor
Returns a new instance of EventMonitor.
6
7
8
9
10
11
|
# File 'lib/simpleworker/event_monitor.rb', line 6
def initialize(start_time = Time.now)
@start_time = start_time
@latest_time = start_time
@expired_tasks = []
@event_tracker = {}
end
|
Instance Attribute Details
#expired_tasks ⇒ Object
Returns the value of attribute expired_tasks.
4
5
6
|
# File 'lib/simpleworker/event_monitor.rb', line 4
def expired_tasks
@expired_tasks
end
|
#latest_time ⇒ Object
Returns the value of attribute latest_time.
4
5
6
|
# File 'lib/simpleworker/event_monitor.rb', line 4
def latest_time
@latest_time
end
|
#start_time ⇒ Object
Returns the value of attribute start_time.
4
5
6
|
# File 'lib/simpleworker/event_monitor.rb', line 4
def start_time
@start_time
end
|
Instance Method Details
#done?(remaining) ⇒ Boolean
40
41
42
|
# File 'lib/simpleworker/event_monitor.rb', line 40
def done?(remaining)
(remaining == 0) && @event_tracker.empty?
end
|
#on_node_start(hostname) ⇒ Object
17
18
19
|
# File 'lib/simpleworker/event_monitor.rb', line 17
def on_node_start(hostname)
@event_tracker[hostname] = latest_time
end
|
#on_node_stop(hostname) ⇒ Object
21
22
23
|
# File 'lib/simpleworker/event_monitor.rb', line 21
def on_node_stop(hostname)
@event_tracker.delete(hostname)
end
|
#on_start(jobid) ⇒ Object
13
14
15
|
# File 'lib/simpleworker/event_monitor.rb', line 13
def on_start(jobid)
@jobid = jobid
end
|
#on_task_expire(hostname, task) ⇒ Object
35
36
37
38
|
# File 'lib/simpleworker/event_monitor.rb', line 35
def on_task_expire(hostname, task)
@expired_tasks << {:task => task, :hostname => hostname, :time => latest_time}
@event_tracker.delete(task)
end
|
#on_task_start(hostname, task) ⇒ Object
25
26
27
28
|
# File 'lib/simpleworker/event_monitor.rb', line 25
def on_task_start(hostname, task)
@event_tracker[hostname] = latest_time
@event_tracker[task] = latest_time
end
|
#on_task_stop(hostname, task) ⇒ Object
30
31
32
33
|
# File 'lib/simpleworker/event_monitor.rb', line 30
def on_task_stop(hostname, task)
@event_tracker[hostname] = latest_time
@event_tracker.delete(task)
end
|
#update(meth, *args) ⇒ Object
44
45
46
47
|
# File 'lib/simpleworker/event_monitor.rb', line 44
def update(meth, *args)
@latest_time = Time.now
super(meth, *args)
end
|