module Sneakers
$ sneakers run TitleWorker,FooWorker $ sneakers stop $ sneakers recycle $ sneakers reload $ sneakers init
Ripped off from github.com/mperham/sidekiq/blob/master/lib/sidekiq/exception_handler.rb
Constants
- CONFIG
- VERSION
Public Instance Methods
clear!()
click to toggle source
# File lib/sneakers.rb, line 39 def clear! CONFIG.clear @logger = nil @publisher = nil @configured = false end
configure(opts={})
click to toggle source
# File lib/sneakers.rb, line 30 def configure(opts={}) # worker > userland > defaults CONFIG.merge!(opts) setup_general_logger! setup_worker_concerns! setup_general_publisher! @configured = true end
configure_server() { |self| ... }
click to toggle source
# File lib/sneakers.rb, line 77 def configure_server yield self if server? end
configured?()
click to toggle source
# File lib/sneakers.rb, line 65 def configured? @configured end
daemonize!(loglevel=Logger::INFO)
click to toggle source
# File lib/sneakers.rb, line 46 def daemonize!(loglevel=Logger::INFO) CONFIG[:log] = 'sneakers.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 Sneakers
process.
Sneakers.error_reporters << proc { |exception, worker, context_hash| MyErrorService.notify(exception, context_hash) }
The default error handler logs errors to Sneakers.logger
. Ripped off from github.com/mperham/sidekiq/blob/6ad6a3aa330deebd76c6cf0d353f66abd3bef93b/lib/sidekiq.rb#L165-L174
# File lib/sneakers.rb, line 87 def error_reporters CONFIG[:error_reporters] end
logger()
click to toggle source
# File lib/sneakers.rb, line 57 def logger @logger end
logger=(logger)
click to toggle source
# File lib/sneakers.rb, line 53 def logger=(logger) @logger = logger end
middleware()
click to toggle source
# File lib/sneakers.rb, line 91 def middleware @middleware ||= Sneakers::Middleware::Config end
publish(msg, routing)
click to toggle source
# File lib/sneakers.rb, line 61 def publish(msg, routing) @publisher.publish(msg, routing) end
server=(server)
click to toggle source
# File lib/sneakers.rb, line 69 def server=(server) @server = server end
server?()
click to toggle source
# File lib/sneakers.rb, line 73 def server? @server end
Private Instance Methods
setup_general_logger!()
click to toggle source
# File lib/sneakers.rb, line 97 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 = Sneakers::Support::ProductionFormatter end end
setup_general_publisher!()
click to toggle source
# File lib/sneakers.rb, line 112 def setup_general_publisher! @publisher = Sneakers::Publisher.new end
setup_worker_concerns!()
click to toggle source
# File lib/sneakers.rb, line 106 def setup_worker_concerns! Worker.configure_logger(Sneakers::logger) Worker.configure_metrics(CONFIG[:metrics]) CONFIG[:handler] ||= Sneakers::Handlers::Oneshot end