Sha256: 1760a3a6a0db9ef669e2b5198fd739041e10460e8f36bd4a40615b8918a5df75
Contents?: true
Size: 1.31 KB
Versions: 4
Compression:
Stored size: 1.31 KB
Contents
module Sneakers class RunnerConfig def method_missing(meth, *args, &block) if %w{ before_fork after_fork }.include? meth.to_s @conf[meth] = block elsif %w{ workers start_worker_delay amqp }.include? meth.to_s @conf[meth] = args.first else super end end def initialize(worker_classes) @worker_classes = worker_classes @conf = {} end def to_h @conf end def reload_config! Sneakers.logger.warn("Loading runner configuration...") config_file = Sneakers::Config[:runner_config_file] if config_file begin instance_eval(File.read(config_file), config_file) Sneakers.logger.info("Loading config with file: #{config_file}") rescue Sneakers.logger.error("Cannot load from file '#{config_file}', #{$!}") end end config = make_serverengine_config [:before_fork, :after_fork].each do | hook | Sneakers::Config[:hooks][hook] = config.delete(hook) if config[hook] end Sneakers.logger.info("New configuration: #{config.inspect}") config end private def make_serverengine_config Sneakers::Config.merge(@conf).merge({ :worker_type => 'process', :worker_classes => @worker_classes }) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
sneakers-0.0.6 | lib/sneakers/runner_config.rb |
sneakers-0.0.5 | lib/sneakers/runner_config.rb |
sneakers-0.0.4 | lib/sneakers/runner_config.rb |
sneakers-0.0.3 | lib/sneakers/runner_config.rb |