module Nsqcd

Constants

CONFIG
VERSION

Public Instance Methods

clear!() click to toggle source
# File lib/nsqcd.rb, line 31
def clear!
  CONFIG.clear
  @logger = nil
  @configured = false
end
configure(opts={}) click to toggle source
# File lib/nsqcd.rb, line 23
def configure(opts={})
  # worker > userland > defaults
  CONFIG.merge!(opts)
  setup_general_logger!
  setup_worker_concerns!
  @configured = true
end
configure_server() { |self| ... } click to toggle source
# File lib/nsqcd.rb, line 64
def configure_server
  yield self if server?
end
configured?() click to toggle source
# File lib/nsqcd.rb, line 52
def configured?
  @configured
end
daemonize!(loglevel=Logger::INFO) click to toggle source
# File lib/nsqcd.rb, line 37
def daemonize!(loglevel=Logger::INFO)
  CONFIG[:log] = 'nsqcd.log'
  CONFIG[:daemonize] = true
  setup_general_logger!
  logger.level = loglevel
end
error_reporters() click to toggle source

Register a proc to handle any error which occurs within the Nsqcd process.

Nsqcd.error_reporters << proc { |exception, worker, context_hash| MyErrorService.notify(exception, context_hash) }

The default error handler logs errors to Nsqcd.logger. Ripped off from github.com/mperham/sidekiq/blob/6ad6a3aa330deebd76c6cf0d353f66abd3bef93b/lib/sidekiq.rb#L165-L174

# File lib/nsqcd.rb, line 74
def error_reporters
  CONFIG[:error_reporters]
end
logger() click to toggle source
# File lib/nsqcd.rb, line 48
def logger
  @logger
end
logger=(logger) click to toggle source
# File lib/nsqcd.rb, line 44
def logger=(logger)
  @logger = logger
end
server=(server) click to toggle source
# File lib/nsqcd.rb, line 56
def server=(server)
  @server = server
end
server?() click to toggle source
# File lib/nsqcd.rb, line 60
def server?
  @server
end

Private Instance Methods

setup_general_logger!() click to toggle source
# File lib/nsqcd.rb, line 80
def setup_general_logger!
  if [:info, :debug, :error, :warn].all?{ |meth| CONFIG[:log].respond_to?(meth) }
    @logger = CONFIG[:log]
  else
    @logger = ServerEngine::DaemonLogger.new(CONFIG[:log])
    @logger.formatter = Nsqcd::Support::ProductionFormatter
  end
end
setup_worker_concerns!() click to toggle source
# File lib/nsqcd.rb, line 89
def setup_worker_concerns!
  Worker.configure_logger(Nsqcd::logger)
end