class DatWorkerPool::Worker::TestHelpers::TestRunner

Attributes

dwp_runner[R]
queue[R]
worker[R]
worker_class[R]

Public Class Methods

new(worker_class, options = nil) click to toggle source
# File lib/dat-worker-pool/worker.rb, line 223
def initialize(worker_class, options = nil)
  @worker_class = worker_class

  @queue = options[:queue] || begin
    require 'dat-worker-pool/default_queue'
    DatWorkerPool::DefaultQueue.new
  end

  @dwp_runner = DatWorkerPool::Runner.new({
    :num_workers   => MIN_WORKERS,
    :logger        => options[:logger],
    :queue         => @queue,
    :worker_class  => @worker_class,
    :worker_params => options[:params]
  })

  @worker = worker_class.new(@dwp_runner, @queue, 1)
end

Public Instance Methods

error(exception, work_item = nil) click to toggle source
# File lib/dat-worker-pool/worker.rb, line 254
def error(exception, work_item = nil)
  run_callback('on_error', self.worker, exception, work_item)
end
make_available() click to toggle source
# File lib/dat-worker-pool/worker.rb, line 270
def make_available
  self.worker.instance_eval{ dwp_make_available }
end
make_unavailable() click to toggle source
# File lib/dat-worker-pool/worker.rb, line 266
def make_unavailable
  self.worker.instance_eval{ dwp_make_unavailable }
end
run(work_item) click to toggle source
# File lib/dat-worker-pool/worker.rb, line 242
def run(work_item)
  self.start
  self.make_unavailable
  self.work(work_item)
  self.make_available
  self.shutdown
end
shutdown() click to toggle source
# File lib/dat-worker-pool/worker.rb, line 262
def shutdown
  run_callback('on_shutdown', self.worker)
end
start() click to toggle source
# File lib/dat-worker-pool/worker.rb, line 258
def start
  run_callback('on_start', self.worker)
end
work(work_item) click to toggle source
# File lib/dat-worker-pool/worker.rb, line 250
def work(work_item)
  self.worker.instance_eval{ dwp_work(work_item) }
end

Private Instance Methods

run_callback(callback, worker, *args) click to toggle source
# File lib/dat-worker-pool/worker.rb, line 276
def run_callback(callback, worker, *args)
  self.worker.instance_eval{ dwp_run_callback(callback, *args) }
end