Module: Sneakers

Extended by:
Sneakers
Included in:
Sneakers
Defined in:
lib/sneakers/cli.rb,
lib/sneakers.rb,
lib/sneakers.rb,
lib/sneakers/runner.rb,
lib/sneakers/worker.rb,
lib/sneakers/spawner.rb,
lib/sneakers/version.rb,
lib/sneakers/publisher.rb,
lib/sneakers/workergroup.rb,
lib/sneakers/configuration.rb,
lib/sneakers/concerns/logging.rb,
lib/sneakers/concerns/metrics.rb,
lib/sneakers/handlers/oneshot.rb,
lib/sneakers/handlers/maxretry.rb,
lib/sneakers/metrics/null_metrics.rb,
lib/sneakers/metrics/statsd_metrics.rb,
lib/sneakers/metrics/logging_metrics.rb,
lib/sneakers/metrics/newrelic_metrics.rb,
lib/sneakers/support/production_formatter.rb

Overview

$ sneakers run TitleWorker,FooWorker $ sneakers stop $ sneakers recycle $ sneakers reload $ sneakers init

Defined Under Namespace

Modules: Concerns, Handlers, Metrics, Support, Worker, WorkerGroup Classes: CLI, Configuration, Publisher, Queue, Runner, RunnerConfig, Spawner, Utils

Constant Summary collapse

CONFIG =
Configuration.new
VERSION =
"1.0.4"

Instance Method Summary collapse

Instance Method Details

#clear!Object



36
37
38
39
40
41
# File 'lib/sneakers.rb', line 36

def clear!
  CONFIG.clear
  @logger = nil
  @publisher = nil
  @configured = false
end

#configure(opts = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/sneakers.rb', line 26

def configure(opts={})
  # worker > userland > defaults
  CONFIG.merge!(opts)

  setup_general_logger!
  setup_worker_concerns!
  setup_general_publisher!
  @configured = true
end

#configured?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/sneakers.rb', line 58

def configured?
  @configured
end

#daemonize!(loglevel = Logger::INFO) ⇒ Object



43
44
45
46
47
48
# File 'lib/sneakers.rb', line 43

def daemonize!(loglevel=Logger::INFO)
  CONFIG[:log] = 'sneakers.log'
  CONFIG[:daemonize] = true
  setup_general_logger!
  logger.level = loglevel
end

#loggerObject



50
51
52
# File 'lib/sneakers.rb', line 50

def logger
  @logger
end

#publish(msg, routing) ⇒ Object



54
55
56
# File 'lib/sneakers.rb', line 54

def publish(msg, routing)
  @publisher.publish(msg, routing)
end