Class: JCukeForker::TaskManager

Inherits:
AbstractListener show all
Defined in:
lib/jcukeforker/task_manager.rb

Instance Method Summary collapse

Methods inherited from AbstractListener

#on_display_fetched, #on_display_released, #on_display_starting, #on_display_stopping, #on_eta, #on_run_finished, #on_run_interrupted, #on_run_starting, #on_task_starting, #on_worker_forked, #on_worker_waiting, #update

Constructor Details

#initialize(features, opts = {}) ⇒ TaskManager

Returns a new instance of TaskManager.



5
6
7
8
9
# File 'lib/jcukeforker/task_manager.rb', line 5

def initialize(features, opts={})
  @features = features
  @opts = opts
  @worker_sockets = {}
end

Instance Method Details

#closeObject



25
26
27
# File 'lib/jcukeforker/task_manager.rb', line 25

def close
  @worker_sockets.each {|k, v| v.close}
end

#on_task_finished(worker_path, feature, status) ⇒ Object



16
17
18
# File 'lib/jcukeforker/task_manager.rb', line 16

def on_task_finished(worker_path, feature, status)
  pop_task worker_path
end

#on_worker_dead(worker_path) ⇒ Object



20
21
22
23
# File 'lib/jcukeforker/task_manager.rb', line 20

def on_worker_dead(worker_path)
 socket = @worker_sockets.delete worker_path
 socket.close
end

#on_worker_register(worker_path) ⇒ Object



11
12
13
14
# File 'lib/jcukeforker/task_manager.rb', line 11

def on_worker_register(worker_path)
  @worker_sockets[worker_path] = UNIXSocket.open worker_path
  pop_task worker_path
end