Class: ParallelCucumber::WorkerManager
- Inherits:
-
Object
- Object
- ParallelCucumber::WorkerManager
- Defined in:
- lib/parallel_cucumber/worker_manager.rb
Instance Method Summary collapse
- #inform_healthy(worker) ⇒ Object
- #inform_idle(worker) ⇒ Object
-
#initialize(options, logger) ⇒ WorkerManager
constructor
A new instance of WorkerManager.
- #kill ⇒ Object
- #start(number_of_workers) ⇒ Object
Constructor Details
#initialize(options, logger) ⇒ WorkerManager
Returns a new instance of WorkerManager.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/parallel_cucumber/worker_manager.rb', line 3 def initialize(, logger) @options = @batch_size = [:batch_size] @logger = logger @queue_connection_params = [:queue_connection_params] @backlog = ParallelCucumber::Helper::Queue.new(@queue_connection_params) @queue_tracker = Tracker.new(@backlog) @back_up_worker_size = [:backup_worker_count] @directed_queues = Hash.new do |hash, key| hash[key] = ParallelCucumber::Helper::Queue.new(@queue_connection_params, "_#{key}") end @workers = {} @unchecked_workers = Queue.new @healthy_workers = Queue.new end |
Instance Method Details
#inform_healthy(worker) ⇒ Object
29 30 31 |
# File 'lib/parallel_cucumber/worker_manager.rb', line 29 def inform_healthy(worker) @healthy_workers.enq(worker) end |
#inform_idle(worker) ⇒ Object
33 34 35 |
# File 'lib/parallel_cucumber/worker_manager.rb', line 33 def inform_idle(worker) @unchecked_workers.enq(worker) end |
#kill ⇒ Object
25 26 27 |
# File 'lib/parallel_cucumber/worker_manager.rb', line 25 def kill @current_thread.kill end |
#start(number_of_workers) ⇒ Object
19 20 21 22 23 |
# File 'lib/parallel_cucumber/worker_manager.rb', line 19 def start(number_of_workers) create_workers(number_of_workers) start_managing start_workers end |