module Racecar

Constants

VERSION

Public Class Methods

config() click to toggle source
# File lib/racecar.rb, line 22
def self.config
  @config ||= Config.new
end
config=(config) click to toggle source
# File lib/racecar.rb, line 26
def self.config=(config)
  @config = config
end
configure() { |config| ... } click to toggle source
# File lib/racecar.rb, line 30
def self.configure
  yield config
end
instrumenter() click to toggle source
# File lib/racecar.rb, line 42
def self.instrumenter
  @instrumenter ||= begin
    default_payload = { client_id: config.client_id, group_id: config.group_id }

    Instrumenter.new(default_payload).tap do |instrumenter|
      if instrumenter.backend == NullInstrumenter
        logger.warn "ActiveSupport::Notifications not available, instrumentation is disabled"
      end
    end
  end
end
logger() click to toggle source
# File lib/racecar.rb, line 34
def self.logger
  config.logger
end
logger=(logger) click to toggle source
# File lib/racecar.rb, line 38
def self.logger=(logger)
  config.logger = logger
end
run(processor) click to toggle source
# File lib/racecar.rb, line 54
def self.run(processor)
  runner = Runner.new(processor, config: config, logger: logger, instrumenter: instrumenter)

  if config.parallel_workers && config.parallel_workers > 1
    ParallelRunner.new(runner: runner, config: config, logger: logger).run
  else
    runner.run
  end
end