Sha256: f1d2b224dbcb816c975258ebc2fc13abdfeb6f9d8917acda3cdcb15ccff4b73a
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
require 'broker/utility' module Broker class Launcher def initialize @poller = Broker::Poller.new @finished = false end def run puts "launcher is running" @poller.start end def stop @finished = true @poller.terminate puts "launcher stopped" end end class Poller include Utility def initialize @finished = false @wait_time = Broker.poll_interval @folder = Broker.queue end def terminate @finished = true if @thread t = @thread @thread = nil wait 1 t.value puts "Polling thread terminated" end end def start @thread ||= safe_thread("poller") do pause_first while !@finished puts "Checking for new files in #{@folder}" wait end end end private def pause_first sleep 5 end def wait(dur=nil) sleep dur || @wait_time end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
broker-0.0.9 | lib/broker/launcher.rb |