Sha256: 3a204dfb8a1da9cfd8d1e8c7731648678c9429532073ace01a9bded15048f66a
Contents?: true
Size: 913 Bytes
Versions: 1
Compression:
Stored size: 913 Bytes
Contents
module ProconBypassMan module Background class JobRunner MAX_QUEUE_SIZE = 100 def self.start! new.start! end # for test def self.stop! return unless defined?(@@thread) @@thread.kill end def start! return if defined?(@@thread) @@thread = Thread.new do while(item = self.class.queue.pop) begin JobPerformer.new(klass: item[:reporter_class], args: item[:args]).perform sleep(1) rescue => e ProconBypassMan.logger.error(e) end end end end def self.queue @@queue ||= Queue.new end def self.push(hash) if queue.size > MAX_QUEUE_SIZE ProconBypassMan.logger.error('Over queue size cap!!') return end queue.push(hash) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
procon_bypass_man-0.1.12 | lib/procon_bypass_man/background/job_runner.rb |