class Adrian::GirlFridayDispatcher
Public Instance Methods
delegate_work(item, worker_class)
click to toggle source
# File lib/adrian/girl_friday_dispatcher.rb, line 21 def delegate_work(item, worker_class) gf_queue.push([item, worker_class]) end
gf_queue()
click to toggle source
# File lib/adrian/girl_friday_dispatcher.rb, line 13 def gf_queue @gf_queue ||= GirlFriday::WorkQueue.new(gf_queue_name, :size => gf_queue_size) do |item, worker_class| worker = worker_class.new(item) worker.report_to(self) worker.perform end end
gf_queue_name()
click to toggle source
# File lib/adrian/girl_friday_dispatcher.rb, line 5 def gf_queue_name @options[:name] || 'adrian_queue' end
gf_queue_size()
click to toggle source
# File lib/adrian/girl_friday_dispatcher.rb, line 9 def gf_queue_size @options[:size] end
stop()
click to toggle source
Calls superclass method
Adrian::Dispatcher#stop
# File lib/adrian/girl_friday_dispatcher.rb, line 35 def stop super wait_for_empty end
wait_for_empty()
click to toggle source
# File lib/adrian/girl_friday_dispatcher.rb, line 25 def wait_for_empty gf_queue.wait_for_empty sleep(0.5) while gf_queue.status[gf_queue_name][:busy] != 0 sleep(0.5) end end