Module: Karafka

Extended by:
Envlogic
Defined in:
lib/karafka.rb,
lib/karafka/app.rb,
lib/karafka/cli.rb,
lib/karafka/errors.rb,
lib/karafka/loader.rb,
lib/karafka/logger.rb,
lib/karafka/server.rb,
lib/karafka/status.rb,
lib/karafka/fetcher.rb,
lib/karafka/monitor.rb,
lib/karafka/process.rb,
lib/karafka/version.rb,
lib/karafka/cli/base.rb,
lib/karafka/cli/flow.rb,
lib/karafka/cli/info.rb,
lib/karafka/cli/server.rb,
lib/karafka/cli/console.rb,
lib/karafka/cli/install.rb,
lib/karafka/parsers/json.rb,
lib/karafka/setup/config.rb,
lib/karafka/params/params.rb,
lib/karafka/routing/proxy.rb,
lib/karafka/routing/topic.rb,
lib/karafka/attributes_map.rb,
lib/karafka/base_responder.rb,
lib/karafka/routing/router.rb,
lib/karafka/schemas/config.rb,
lib/karafka/backends/inline.rb,
lib/karafka/base_controller.rb,
lib/karafka/routing/builder.rb,
lib/karafka/responders/topic.rb,
lib/karafka/patches/ruby_kafka.rb,
lib/karafka/responders/builder.rb,
lib/karafka/connection/consumer.rb,
lib/karafka/connection/listener.rb,
lib/karafka/params/params_batch.rb,
lib/karafka/connection/processor.rb,
lib/karafka/controllers/includer.rb,
lib/karafka/persistence/consumer.rb,
lib/karafka/routing/topic_mapper.rb,
lib/karafka/controllers/callbacks.rb,
lib/karafka/helpers/class_matcher.rb,
lib/karafka/controllers/responders.rb,
lib/karafka/persistence/controller.rb,
lib/karafka/routing/consumer_group.rb,
lib/karafka/schemas/consumer_group.rb,
lib/karafka/helpers/multi_delegator.rb,
lib/karafka/routing/consumer_mapper.rb,
lib/karafka/schemas/responder_usage.rb,
lib/karafka/helpers/config_retriever.rb,
lib/karafka/patches/dry_configurable.rb,
lib/karafka/setup/configurators/base.rb,
lib/karafka/connection/config_adapter.rb,
lib/karafka/controllers/single_params.rb,
lib/karafka/schemas/server_cli_options.rb,
lib/karafka/schemas/consumer_group_topic.rb,
lib/karafka/setup/configurators/water_drop.rb

Overview

Karafka module namespace

Defined Under Namespace

Modules: AttributesMap, Backends, Connection, Controllers, Errors, Helpers, Loader, Params, Parsers, Patches, Persistence, Responders, Routing, Schemas, Setup Classes: App, BaseController, BaseResponder, Cli, Fetcher, Logger, Monitor, Process, Server, Status

Constant Summary collapse

VERSION =

Current Karafka version

'1.1.2'

Class Method Summary collapse

Class Method Details

.boot_fileString

Note:

By default it is a file called ‘karafka.rb’ but it can be specified as you wish if you have Karafka that is merged into a Sinatra/Rails app and karafka.rb is taken. It will be used for console/controllers/etc

Returns path to a default file that contains booting procedure etc.

Examples:

Standard only-Karafka case

Karafka.boot_file #=> '/home/app_path/karafka.rb'

Non standard case

KARAFKA_BOOT_FILE='/home/app_path/app.rb'
Karafka.boot_file #=> '/home/app_path/app.rb'

Returns:

  • (String)

    path to a default file that contains booting procedure etc



60
61
62
# File 'lib/karafka.rb', line 60

def boot_file
  Pathname.new(ENV['KARAFKA_BOOT_FILE'] || File.join(Karafka.root, 'karafka.rb'))
end

.core_rootString

Returns path to Karafka gem root core.

Returns:

  • (String)

    path to Karafka gem root core



47
48
49
# File 'lib/karafka.rb', line 47

def core_root
  Pathname.new(File.expand_path('../karafka', __FILE__))
end

.gem_rootString

Returns root path of this gem.

Returns:

  • (String)

    root path of this gem



37
38
39
# File 'lib/karafka.rb', line 37

def gem_root
  Pathname.new(File.expand_path('../..', __FILE__))
end

.loggerLogger

Returns logger that we want to use. Will use ::Karafka::Logger by default.

Returns:

  • (Logger)

    logger that we want to use. Will use ::Karafka::Logger by default



27
28
29
# File 'lib/karafka.rb', line 27

def logger
  @logger ||= App.config.logger
end

.monitor::Karafka::Monitor

Returns monitor that we want to use. Will use dummy monitor by default.

Returns:



32
33
34
# File 'lib/karafka.rb', line 32

def monitor
  @monitor ||= App.config.monitor
end

.rootString

Returns Karafka app root path (user application path).

Returns:

  • (String)

    Karafka app root path (user application path)



42
43
44
# File 'lib/karafka.rb', line 42

def root
  Pathname.new(ENV['KARAFKA_ROOT_DIR'] || File.dirname(ENV['BUNDLE_GEMFILE']))
end