class SimpleWorker::EventMonitor
Attributes
expired_tasks[R]
latest_time[R]
start_time[R]
Public Class Methods
new(start_time = Time.now)
click to toggle source
# 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
Public Instance Methods
done?(remaining)
click to toggle source
# File lib/simpleworker/event_monitor.rb, line 40 def done?(remaining) (remaining == 0) && @event_tracker.empty? end
on_node_start(hostname)
click to toggle source
# File lib/simpleworker/event_monitor.rb, line 17 def on_node_start(hostname) @event_tracker[hostname] = latest_time end
on_node_stop(hostname)
click to toggle source
# File lib/simpleworker/event_monitor.rb, line 21 def on_node_stop(hostname) @event_tracker.delete(hostname) end
on_start(jobid)
click to toggle source
# File lib/simpleworker/event_monitor.rb, line 13 def on_start(jobid) @jobid = jobid end
on_task_expire(hostname, task)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
Calls superclass method
SimpleWorker::AbstractListener#update
# File lib/simpleworker/event_monitor.rb, line 44 def update(meth, *args) @latest_time = Time.now super(meth, *args) end