class Upman::Core::Worker
Attributes
worker_threads[RW]
workers[RW]
Public Class Methods
new()
click to toggle source
# File lib/upman/core/worker.rb, line 10 def initialize @stop_signal = true @config = ::Upman::Core::Config.daemon @workers = [] @worker_threads = [] register_worker end
Public Instance Methods
register_worker()
click to toggle source
# File lib/upman/core/worker.rb, line 36 def register_worker @config[:workers].each do |worker| require_relative "../../upman/worker/#{worker}" ext_obj = dynload("Upman::Worker::#{worker.split('_').map(&:capitalize).join('')}") info "Register Worker Thread Upman::Worker::#{worker.split('_').map(&:capitalize).join('')}" ext_class = ext_obj .new @workers.append ext_class.register end end
run!()
click to toggle source
# File lib/upman/core/worker.rb, line 19 def run! show_banner @workers.each do |worker| @worker_threads << Thread.new do worker.run! end end @worker_threads.each { |t| t.join } end
shutdown()
click to toggle source
# File lib/upman/core/worker.rb, line 30 def shutdown info "Stopping Worker Threads" @stop_signal = false end