class RubyEventStore::Outbox::CLI

Constants

DEFAULTS
Options

Public Instance Methods

build_consumer(options) click to toggle source
# File lib/ruby_event_store/outbox/cli.rb, line 80
def build_consumer(options)
  consumer_uuid = SecureRandom.uuid
  logger = Logger.new(STDOUT, level: options.log_level, progname: "RES-Outbox #{consumer_uuid}")
  consumer_configuration = Consumer::Configuration.new(
    split_keys: options.split_keys,
    message_format: options.message_format,
    batch_size: options.batch_size,
    database_url: options.database_url,
    redis_url: options.redis_url,
    cleanup: options.cleanup_strategy,
    sleep_on_empty: options.sleep_on_empty,
  )
  metrics = Metrics.from_url(options.metrics_url)
  outbox_consumer = RubyEventStore::Outbox::Consumer.new(
    consumer_uuid,
    consumer_configuration,
    logger: logger,
    metrics: metrics,
  )
end
run(argv) click to toggle source
# File lib/ruby_event_store/outbox/cli.rb, line 73
def run(argv)
  options = Parser.parse(argv)
  outbox_consumer = build_consumer(options)
  outbox_consumer.init
  outbox_consumer.run
end