Module: Karafka
- Defined in:
- lib/karafka.rb,
lib/karafka/app.rb,
lib/karafka/cli.rb,
lib/karafka/env.rb,
lib/karafka/pro.rb,
lib/karafka/admin.rb,
lib/karafka/errors.rb,
lib/karafka/runner.rb,
lib/karafka/server.rb,
lib/karafka/status.rb,
lib/karafka/process.rb,
lib/karafka/railtie.rb,
lib/karafka/version.rb,
lib/karafka/cli/base.rb,
lib/karafka/cli/info.rb,
lib/karafka/embedded.rb,
lib/karafka/licenser.rb,
lib/karafka/contracts.rb,
lib/karafka/setup/dsl.rb,
lib/karafka/cli/server.rb,
lib/karafka/pro/loader.rb,
lib/karafka/cli/console.rb,
lib/karafka/cli/install.rb,
lib/karafka/setup/config.rb,
lib/karafka/base_consumer.rb,
lib/karafka/helpers/async.rb,
lib/karafka/messages/seek.rb,
lib/karafka/routing/proxy.rb,
lib/karafka/routing/topic.rb,
lib/karafka/contracts/base.rb,
lib/karafka/pro/encryption.rb,
lib/karafka/routing/router.rb,
lib/karafka/routing/topics.rb,
lib/karafka/contracts/topic.rb,
lib/karafka/messages/parser.rb,
lib/karafka/routing/builder.rb,
lib/karafka/contracts/config.rb,
lib/karafka/helpers/colorize.rb,
lib/karafka/messages/message.rb,
lib/karafka/connection/client.rb,
lib/karafka/messages/messages.rb,
lib/karafka/messages/metadata.rb,
lib/karafka/pro/base_consumer.rb,
lib/karafka/processing/result.rb,
lib/karafka/processing/worker.rb,
lib/karafka/time_trackers/base.rb,
lib/karafka/time_trackers/poll.rb,
lib/karafka/active_job/consumer.rb,
lib/karafka/connection/listener.rb,
lib/karafka/processing/executor.rb,
lib/karafka/time_trackers/pause.rb,
lib/karafka/processing/jobs/base.rb,
lib/karafka/processing/scheduler.rb,
lib/karafka/setup/attributes_map.rb,
lib/karafka/active_job/dispatcher.rb,
lib/karafka/pro/encryption/cipher.rb,
lib/karafka/pro/encryption/errors.rb,
lib/karafka/processing/jobs_queue.rb,
lib/karafka/routing/features/base.rb,
lib/karafka/instrumentation/logger.rb,
lib/karafka/processing/coordinator.rb,
lib/karafka/processing/partitioner.rb,
lib/karafka/routing/consumer_group.rb,
lib/karafka/helpers/multi_delegator.rb,
lib/karafka/instrumentation/monitor.rb,
lib/karafka/messages/batch_metadata.rb,
lib/karafka/pro/active_job/consumer.rb,
lib/karafka/pro/performance_tracker.rb,
lib/karafka/processing/jobs/consume.rb,
lib/karafka/processing/jobs/revoked.rb,
lib/karafka/processing/jobs_builder.rb,
lib/karafka/routing/consumer_mapper.rb,
lib/karafka/contracts/consumer_group.rb,
lib/karafka/patches/rdkafka/bindings.rb,
lib/karafka/patches/rdkafka/consumer.rb,
lib/karafka/pro/processing/scheduler.rb,
lib/karafka/processing/jobs/shutdown.rb,
lib/karafka/processing/workers_batch.rb,
lib/karafka/active_job/job_extensions.rb,
lib/karafka/connection/pauses_manager.rb,
lib/karafka/messages/builders/message.rb,
lib/karafka/pro/active_job/dispatcher.rb,
lib/karafka/pro/routing/features/base.rb,
lib/karafka/processing/strategies/dlq.rb,
lib/karafka/processing/strategies/mom.rb,
lib/karafka/connection/listeners_batch.rb,
lib/karafka/connection/messages_buffer.rb,
lib/karafka/messages/builders/messages.rb,
lib/karafka/pro/processing/coordinator.rb,
lib/karafka/pro/processing/partitioner.rb,
lib/karafka/processing/strategies/base.rb,
lib/karafka/routing/subscription_group.rb,
lib/karafka/pro/encryption/setup/config.rb,
lib/karafka/pro/processing/jobs_builder.rb,
lib/karafka/processing/executors_buffer.rb,
lib/karafka/routing/features/active_job.rb,
lib/karafka/connection/rebalance_manager.rb,
lib/karafka/contracts/server_cli_options.rb,
lib/karafka/pro/processing/strategies/vp.rb,
lib/karafka/processing/strategies/aj_mom.rb,
lib/karafka/processing/strategy_selector.rb,
lib/karafka/instrumentation/notifications.rb,
lib/karafka/pro/processing/strategies/dlq.rb,
lib/karafka/pro/processing/strategies/lrj.rb,
lib/karafka/pro/processing/strategies/mom.rb,
lib/karafka/processing/strategies/default.rb,
lib/karafka/processing/strategies/dlq_mom.rb,
lib/karafka/connection/raw_messages_buffer.rb,
lib/karafka/pro/encryption/messages/parser.rb,
lib/karafka/pro/processing/strategies/base.rb,
lib/karafka/processing/coordinators_buffer.rb,
lib/karafka/routing/features/base/expander.rb,
lib/karafka/active_job/job_options_contract.rb,
lib/karafka/instrumentation/callbacks/error.rb,
lib/karafka/instrumentation/logger_listener.rb,
lib/karafka/pro/encryption/contracts/config.rb,
lib/karafka/serialization/json/deserializer.rb,
lib/karafka/messages/builders/batch_metadata.rb,
lib/karafka/pro/processing/strategies/aj_mom.rb,
lib/karafka/pro/processing/strategies/lrj_vp.rb,
lib/karafka/pro/processing/strategy_selector.rb,
lib/karafka/processing/strategies/aj_dlq_mom.rb,
lib/karafka/pro/processing/strategies/default.rb,
lib/karafka/pro/processing/strategies/dlq_lrj.rb,
lib/karafka/pro/processing/strategies/dlq_mom.rb,
lib/karafka/pro/processing/strategies/lrj_mom.rb,
lib/karafka/routing/features/active_job/topic.rb,
lib/karafka/instrumentation/proctitle_listener.rb,
lib/karafka/pro/encryption/messages/middleware.rb,
lib/karafka/routing/features/active_job/config.rb,
lib/karafka/routing/features/dead_letter_queue.rb,
lib/karafka/pro/active_job/job_options_contract.rb,
lib/karafka/pro/processing/strategies/aj_mom_vp.rb,
lib/karafka/routing/features/active_job/builder.rb,
lib/karafka/routing/subscription_groups_builder.rb,
lib/karafka/instrumentation/callbacks/statistics.rb,
lib/karafka/pro/processing/strategies/aj_dlq_mom.rb,
lib/karafka/pro/processing/strategies/aj_lrj_mom.rb,
lib/karafka/routing/features/active_job/contract.rb,
lib/karafka/connection/consumer_group_coordinator.rb,
lib/karafka/pro/processing/strategies/dlq_lrj_mom.rb,
lib/karafka/pro/routing/features/long_running_job.rb,
lib/karafka/pro/routing/features/dead_letter_queue.rb,
lib/karafka/pro/processing/strategies/aj_lrj_mom_vp.rb,
lib/karafka/pro/routing/features/virtual_partitions.rb,
lib/karafka/instrumentation/vendors/datadog/listener.rb,
lib/karafka/pro/processing/jobs/consume_non_blocking.rb,
lib/karafka/pro/processing/jobs/revoked_non_blocking.rb,
lib/karafka/pro/processing/strategies/aj_dlq_lrj_mom.rb,
lib/karafka/routing/features/dead_letter_queue/topic.rb,
lib/karafka/routing/features/dead_letter_queue/config.rb,
lib/karafka/routing/features/manual_offset_management.rb,
lib/karafka/pro/routing/features/long_running_job/topic.rb,
lib/karafka/routing/features/dead_letter_queue/contract.rb,
lib/karafka/pro/routing/features/long_running_job/config.rb,
lib/karafka/pro/routing/features/virtual_partitions/topic.rb,
lib/karafka/pro/routing/features/long_running_job/contract.rb,
lib/karafka/pro/routing/features/virtual_partitions/config.rb,
lib/karafka/instrumentation/vendors/datadog/logger_listener.rb,
lib/karafka/pro/routing/features/dead_letter_queue/contract.rb,
lib/karafka/routing/features/manual_offset_management/topic.rb,
lib/karafka/pro/routing/features/virtual_partitions/contract.rb,
lib/karafka/routing/features/manual_offset_management/config.rb,
lib/karafka/routing/features/manual_offset_management/contract.rb
Overview
This Karafka component is a Pro component under a commercial license. This Karafka component is NOT licensed under LGPL.
All of the commercial components are present in the lib/karafka/pro directory of this repository and their usage requires commercial license agreement.
Karafka has also commercial-friendly license, commercial support and commercial components.
By sending a pull request to the pro components, you are agreeing to transfer the copyright of your code to Maciej Mensfeld.
Defined Under Namespace
Modules: ActiveJob, Admin, Connection, Contracts, Embedded, Errors, Helpers, Instrumentation, Messages, Patches, Pro, Processing, Routing, Serialization, Setup, TimeTrackers Classes: App, BaseConsumer, Cli, Env, Licenser, Process, Railtie, Runner, Server, Status
Constant Summary collapse
- VERSION =
Current Karafka version
'2.0.27'
Class Method Summary collapse
-
.boot_file ⇒ String
Path to a default file that contains booting procedure etc.
-
.core_root ⇒ String
Path to Karafka gem root core.
-
.env ⇒ Karafka::Env
Env instance that allows us to check environment.
-
.env=(environment) ⇒ Karafka::Env
Env instance.
-
.gem_root ⇒ String
Root path of this gem.
-
.logger ⇒ Logger
Logger that we want to use.
-
.monitor ⇒ ::Karafka::Monitor
Monitor that we want to use.
-
.pro? ⇒ Boolean
True if there is a valid pro token present.
-
.producer ⇒ WaterDrop::Producer
Waterdrop messages producer.
-
.root ⇒ String
Karafka app root path (user application path).
Class Method Details
.boot_file ⇒ String
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/consumers/etc
Returns path to a default file that contains booting procedure etc.
82 83 84 |
# File 'lib/karafka.rb', line 82 def boot_file Pathname.new(ENV['KARAFKA_BOOT_FILE'] || File.join(Karafka.root, 'karafka.rb')) end |
.core_root ⇒ String
Returns path to Karafka gem root core.
64 65 66 |
# File 'lib/karafka.rb', line 64 def core_root Pathname.new(File.('karafka', __dir__)) end |
.env ⇒ Karafka::Env
Returns env instance that allows us to check environment.
26 27 28 |
# File 'lib/karafka.rb', line 26 def env @env ||= Env.new end |
.env=(environment) ⇒ Karafka::Env
Returns env instance.
34 35 36 |
# File 'lib/karafka.rb', line 34 def env=(environment) env.replace(environment.to_s) end |
.gem_root ⇒ String
Returns root path of this gem.
54 55 56 |
# File 'lib/karafka.rb', line 54 def gem_root Pathname.new(File.('..', __dir__)) end |
.logger ⇒ Logger
Returns logger that we want to use. Will use ::Karafka::Logger by default.
39 40 41 |
# File 'lib/karafka.rb', line 39 def logger @logger ||= App.config.logger end |
.monitor ⇒ ::Karafka::Monitor
Returns monitor that we want to use.
49 50 51 |
# File 'lib/karafka.rb', line 49 def monitor @monitor ||= App.config.monitor end |
.pro? ⇒ Boolean
Returns true if there is a valid pro token present.
69 70 71 |
# File 'lib/karafka.rb', line 69 def pro? App.config.license.token != false end |
.producer ⇒ WaterDrop::Producer
Returns waterdrop messages producer.
44 45 46 |
# File 'lib/karafka.rb', line 44 def producer @producer ||= App.config.producer end |
.root ⇒ String
Returns Karafka app root path (user application path).
59 60 61 |
# File 'lib/karafka.rb', line 59 def root Pathname.new(ENV['KARAFKA_ROOT_DIR'] || File.dirname(ENV['BUNDLE_GEMFILE'])) end |