Parent

Namespace

Class/Module Index [+]

Quicksearch

DeepTest::Worker

Attributes

number[R]

Public Class Methods

new(number, blackboard, worker_listener) click to toggle source
# File lib/deep_test/worker.rb, line 5
def initialize(number, blackboard, worker_listener)
  @number = number
  @blackboard = blackboard
  @listener = worker_listener
end

Public Instance Methods

next_work_unit() click to toggle source
# File lib/deep_test/worker.rb, line 33
def next_work_unit
  @blackboard.take_work
rescue Server::NoWorkUnitsAvailableError
  sleep 0.02
  retry
end
run() click to toggle source
# File lib/deep_test/worker.rb, line 11
def run
  @listener.starting(self)
  while work_unit = next_work_unit
    @listener.starting_work(self, work_unit)

    result = begin
               work_unit.run
             rescue Exception => error
               Error.new(work_unit, error)
             end

    @listener.finished_work(self, work_unit, result)
    @blackboard.write_result result
    if ENV['DEEP_TEST_SHOW_WORKER_DOTS'] == 'yes'
      $stdout.print '.'
      $stdout.flush
    end
  end
rescue Server::NoWorkUnitsRemainingError
  DeepTest.logger.debug("Worker #{number}: no more work to do")
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.