karafka 1.1.2 → 1.2.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.ruby-version +1 -1
- data/.travis.yml +1 -0
- data/CHANGELOG.md +34 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +35 -22
- data/README.md +4 -3
- data/karafka.gemspec +5 -3
- data/lib/karafka.rb +4 -5
- data/lib/karafka/app.rb +8 -15
- data/lib/karafka/attributes_map.rb +1 -1
- data/lib/karafka/backends/inline.rb +1 -2
- data/lib/karafka/{base_controller.rb → base_consumer.rb} +19 -11
- data/lib/karafka/base_responder.rb +33 -14
- data/lib/karafka/callbacks.rb +30 -0
- data/lib/karafka/callbacks/config.rb +22 -0
- data/lib/karafka/callbacks/dsl.rb +16 -0
- data/lib/karafka/cli/install.rb +2 -3
- data/lib/karafka/cli/server.rb +0 -1
- data/lib/karafka/connection/{consumer.rb → client.rb} +25 -33
- data/lib/karafka/connection/config_adapter.rb +14 -6
- data/lib/karafka/connection/delegator.rb +46 -0
- data/lib/karafka/connection/listener.rb +22 -13
- data/lib/karafka/{controllers → consumers}/callbacks.rb +9 -9
- data/lib/karafka/consumers/includer.rb +51 -0
- data/lib/karafka/consumers/responders.rb +24 -0
- data/lib/karafka/{controllers → consumers}/single_params.rb +3 -3
- data/lib/karafka/errors.rb +10 -3
- data/lib/karafka/fetcher.rb +30 -34
- data/lib/karafka/helpers/class_matcher.rb +8 -8
- data/lib/karafka/helpers/config_retriever.rb +2 -2
- data/lib/karafka/instrumentation/listener.rb +97 -0
- data/lib/karafka/instrumentation/logger.rb +55 -0
- data/lib/karafka/instrumentation/monitor.rb +62 -0
- data/lib/karafka/loader.rb +0 -1
- data/lib/karafka/params/{params.rb → dsl.rb} +69 -44
- data/lib/karafka/params/params_batch.rb +2 -2
- data/lib/karafka/patches/dry_configurable.rb +6 -2
- data/lib/karafka/patches/ruby_kafka.rb +10 -10
- data/lib/karafka/persistence/client.rb +25 -0
- data/lib/karafka/persistence/consumer.rb +27 -14
- data/lib/karafka/persistence/topic.rb +29 -0
- data/lib/karafka/process.rb +5 -4
- data/lib/karafka/responders/builder.rb +15 -14
- data/lib/karafka/routing/builder.rb +1 -1
- data/lib/karafka/routing/consumer_mapper.rb +3 -2
- data/lib/karafka/routing/router.rb +1 -1
- data/lib/karafka/routing/topic.rb +5 -5
- data/lib/karafka/schemas/config.rb +3 -0
- data/lib/karafka/schemas/consumer_group.rb +14 -2
- data/lib/karafka/schemas/consumer_group_topic.rb +1 -1
- data/lib/karafka/server.rb +33 -5
- data/lib/karafka/setup/config.rb +45 -21
- data/lib/karafka/setup/configurators/base.rb +6 -12
- data/lib/karafka/setup/configurators/params.rb +25 -0
- data/lib/karafka/setup/configurators/water_drop.rb +6 -3
- data/lib/karafka/setup/dsl.rb +22 -0
- data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.example} +2 -3
- data/lib/karafka/templates/karafka.rb.example +14 -3
- data/lib/karafka/version.rb +1 -1
- metadata +58 -23
- data/lib/karafka/connection/processor.rb +0 -61
- data/lib/karafka/controllers/includer.rb +0 -51
- data/lib/karafka/controllers/responders.rb +0 -19
- data/lib/karafka/logger.rb +0 -53
- data/lib/karafka/monitor.rb +0 -98
- data/lib/karafka/persistence/controller.rb +0 -38
data/lib/karafka/setup/config.rb
CHANGED
@@ -13,6 +13,7 @@ module Karafka
|
|
13
13
|
# @see Karafka::Setup::Configurators::Base for more details about configurators api
|
14
14
|
class Config
|
15
15
|
extend Dry::Configurable
|
16
|
+
extend Callbacks::Config
|
16
17
|
|
17
18
|
# Available settings
|
18
19
|
# option client_id [String] kafka client_id - used to provide
|
@@ -21,9 +22,9 @@ module Karafka
|
|
21
22
|
# What backend do we want to use to process messages
|
22
23
|
setting :backend, :inline
|
23
24
|
# option logger [Instance] logger that we want to use
|
24
|
-
setting :logger, -> { ::Karafka::Logger.instance }
|
25
|
+
setting :logger, -> { ::Karafka::Instrumentation::Logger.instance }
|
25
26
|
# option monitor [Instance] monitor that we will to use (defaults to Karafka::Monitor)
|
26
|
-
setting :monitor, -> { ::Karafka::Monitor.instance }
|
27
|
+
setting :monitor, -> { ::Karafka::Instrumentation::Monitor.instance }
|
27
28
|
# Mapper used to remap consumer groups ids, so in case users migrate from other tools
|
28
29
|
# or they need to maintain their own internal consumer group naming conventions, they
|
29
30
|
# can easily do it, replacing the default client_id + consumer name pattern concept
|
@@ -43,12 +44,24 @@ module Karafka
|
|
43
44
|
# #params_batch will contain params received from Kafka (may be more than 1) so we can
|
44
45
|
# process them in batches
|
45
46
|
setting :batch_consuming, false
|
46
|
-
# Should we operate in a single
|
47
|
-
# from the same partition or should we build a new
|
48
|
-
# Disabling that can be useful when you want to
|
49
|
-
# incoming batch. It's disabled by default, not to create more objects that needed
|
50
|
-
# each batch
|
47
|
+
# Should we operate in a single consumer instance across multiple batches of messages,
|
48
|
+
# from the same partition or should we build a new one for each incoming batch.
|
49
|
+
# Disabling that can be useful when you want to create a new consumer instance for each
|
50
|
+
# incoming batch. It's disabled by default, not to create more objects that needed
|
51
|
+
# on each batch
|
51
52
|
setting :persistent, true
|
53
|
+
# option shutdown_timeout [Integer, nil] the number of seconds after which Karafka no
|
54
|
+
# longer wait for the consumers to stop gracefully but instead we force
|
55
|
+
# terminate everything.
|
56
|
+
# @note Keep in mind, that if your business logic
|
57
|
+
# @note If set to nil, it won't forcefully shutdown the process at all.
|
58
|
+
setting :shutdown_timeout, 60
|
59
|
+
# option params_base_class [Class] base class for params class initialization
|
60
|
+
# This can be either a Hash or a HashWithIndifferentAccess depending on your
|
61
|
+
# requirements. Note, that by using HashWithIndifferentAccess, you remove some of the
|
62
|
+
# performance in favor of convenience. This can be useful especially if you already use
|
63
|
+
# it with Rails, etc
|
64
|
+
setting :params_base_class, Hash
|
52
65
|
|
53
66
|
# option kafka [Hash] - optional - kafka configuration options
|
54
67
|
setting :kafka do
|
@@ -81,6 +94,9 @@ module Karafka
|
|
81
94
|
# returning messages from the server; if `max_wait_time` is reached, this
|
82
95
|
# is ignored.
|
83
96
|
setting :min_bytes, 1
|
97
|
+
# option max_bytes [Integer] the maximum number of bytes to read before returning messages
|
98
|
+
# from each broker.
|
99
|
+
setting :max_bytes, 10_485_760
|
84
100
|
# option max_wait_time [Integer, Float] max_wait_time is the maximum number of seconds to
|
85
101
|
# wait before returning data from a single message fetch. By setting this high you also
|
86
102
|
# increase the fetching throughput - and by setting it low you set a bound on latency.
|
@@ -109,24 +125,33 @@ module Karafka
|
|
109
125
|
setting :socket_timeout, 30
|
110
126
|
|
111
127
|
# SSL authentication related settings
|
112
|
-
# option ca_cert [String] SSL CA certificate
|
128
|
+
# option ca_cert [String, nil] SSL CA certificate
|
113
129
|
setting :ssl_ca_cert, nil
|
114
|
-
# option ssl_ca_cert_file_path [String] SSL CA certificate file path
|
130
|
+
# option ssl_ca_cert_file_path [String, nil] SSL CA certificate file path
|
115
131
|
setting :ssl_ca_cert_file_path, nil
|
116
|
-
# option
|
132
|
+
# option ssl_ca_certs_from_system [Boolean] Use the CA certs from your system's default
|
133
|
+
# certificate store
|
134
|
+
setting :ssl_ca_certs_from_system, false
|
135
|
+
# option ssl_client_cert [String, nil] SSL client certificate
|
117
136
|
setting :ssl_client_cert, nil
|
118
|
-
# option ssl_client_cert_key [String] SSL client certificate password
|
137
|
+
# option ssl_client_cert_key [String, nil] SSL client certificate password
|
119
138
|
setting :ssl_client_cert_key, nil
|
120
|
-
# option sasl_gssapi_principal [String] sasl principal
|
139
|
+
# option sasl_gssapi_principal [String, nil] sasl principal
|
121
140
|
setting :sasl_gssapi_principal, nil
|
122
|
-
# option sasl_gssapi_keytab [String] sasl keytab
|
141
|
+
# option sasl_gssapi_keytab [String, nil] sasl keytab
|
123
142
|
setting :sasl_gssapi_keytab, nil
|
124
143
|
# option sasl_plain_authzid [String] The authorization identity to use
|
125
144
|
setting :sasl_plain_authzid, ''
|
126
|
-
# option sasl_plain_username [String] The username used to authenticate
|
145
|
+
# option sasl_plain_username [String, nil] The username used to authenticate
|
127
146
|
setting :sasl_plain_username, nil
|
128
|
-
# option sasl_plain_password [String] The password used to authenticate
|
147
|
+
# option sasl_plain_password [String, nil] The password used to authenticate
|
129
148
|
setting :sasl_plain_password, nil
|
149
|
+
# option sasl_scram_username [String, nil] The username used to authenticate
|
150
|
+
setting :sasl_scram_username, nil
|
151
|
+
# option sasl_scram_password [String, nil] The password used to authenticate
|
152
|
+
setting :sasl_scram_password, nil
|
153
|
+
# option sasl_scram_mechanism [String, nil] Scram mechanism, either 'sha256' or 'sha512'
|
154
|
+
setting :sasl_scram_mechanism, nil
|
130
155
|
end
|
131
156
|
|
132
157
|
class << self
|
@@ -134,18 +159,17 @@ module Karafka
|
|
134
159
|
# @yield Runs a block of code providing a config singleton instance to it
|
135
160
|
# @yieldparam [Karafka::Setup::Config] Karafka config instance
|
136
161
|
def setup
|
137
|
-
configure
|
138
|
-
yield(config)
|
139
|
-
end
|
162
|
+
configure { |config| yield(config) }
|
140
163
|
end
|
141
164
|
|
142
165
|
# Everything that should be initialized after the setup
|
143
166
|
# Components are in karafka/config directory and are all loaded one by one
|
144
167
|
# If you want to configure a next component, please add a proper file to config dir
|
145
168
|
def setup_components
|
146
|
-
|
147
|
-
|
148
|
-
|
169
|
+
[
|
170
|
+
Configurators::Params,
|
171
|
+
Configurators::WaterDrop
|
172
|
+
].each { |klass| klass.setup(config) }
|
149
173
|
end
|
150
174
|
|
151
175
|
# Validate config based on ConfigurationSchema
|
@@ -3,10 +3,13 @@
|
|
3
3
|
module Karafka
|
4
4
|
module Setup
|
5
5
|
# Configurators module is used to enclose all the external dependencies configurations
|
6
|
+
# upon which Karafka depents
|
6
7
|
class Configurators
|
7
|
-
# Karafka has
|
8
|
+
# Karafka has some components that it relies on (like Sidekiq)
|
8
9
|
# We need to configure all of them only when the framework was set up.
|
9
10
|
# Any class that descends from this one will be automatically invoked upon setup (after it)
|
11
|
+
# @note This should be used only for internal Karafka dependencies configuration
|
12
|
+
# End users configuration should go to the after_init block
|
10
13
|
# @example Configure an Example class
|
11
14
|
# class ExampleConfigurator < Base
|
12
15
|
# def setup
|
@@ -15,18 +18,9 @@ module Karafka
|
|
15
18
|
# end
|
16
19
|
# end
|
17
20
|
class Base
|
18
|
-
|
19
|
-
|
20
|
-
attr_reader :config
|
21
|
-
|
22
|
-
# @param config [Karafka::Config] config instance
|
23
|
-
# @return [Karafka::Config::Base] configurator for a given component
|
24
|
-
def initialize(config)
|
25
|
-
@config = config
|
26
|
-
end
|
27
|
-
|
21
|
+
# @param _config [Karafka::Config] config instance
|
28
22
|
# This method needs to be implemented in a subclass
|
29
|
-
def setup
|
23
|
+
def self.setup(_config)
|
30
24
|
raise NotImplementedError
|
31
25
|
end
|
32
26
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Setup
|
5
|
+
class Configurators
|
6
|
+
# Karafka::Params::Params are dynamically built based on user defined parent class
|
7
|
+
# so we cannot just require it, we need to initialize it after user is done with
|
8
|
+
# the framework configuration. This is a configurator that does exactly that.
|
9
|
+
class Params < Base
|
10
|
+
# Builds up Karafka::Params::Params class with user defined parent class
|
11
|
+
# @param config [Karafka::Setup::Config] Config we can user to setup things
|
12
|
+
def self.setup(config)
|
13
|
+
return if defined? Karafka::Params::Params
|
14
|
+
|
15
|
+
Karafka::Params.const_set(
|
16
|
+
'Params',
|
17
|
+
Class
|
18
|
+
.new(config.params_base_class)
|
19
|
+
.tap { |klass| klass.include(Karafka::Params::Dsl) }
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -6,17 +6,20 @@ module Karafka
|
|
6
6
|
# Class responsible for setting up WaterDrop configuration
|
7
7
|
class WaterDrop < Base
|
8
8
|
# Sets up a WaterDrop settings
|
9
|
-
|
9
|
+
# @param config [Karafka::Setup::Config] Config we can user to setup things
|
10
|
+
# @note This will also inject Karafka monitor as a default monitor into WaterDrop,
|
11
|
+
# so we have the same monitor within whole Karafka framework (same with logger)
|
12
|
+
def self.setup(config)
|
10
13
|
::WaterDrop.setup do |water_config|
|
11
14
|
water_config.deliver = true
|
12
15
|
|
13
|
-
|
16
|
+
config.to_h.except(:kafka).each do |k, v|
|
14
17
|
key_assignment = :"#{k}="
|
15
18
|
next unless water_config.respond_to?(key_assignment)
|
16
19
|
water_config.public_send(key_assignment, v)
|
17
20
|
end
|
18
21
|
|
19
|
-
|
22
|
+
config.kafka.to_h.each do |k, v|
|
20
23
|
key_assignment = :"#{k}="
|
21
24
|
next unless water_config.kafka.respond_to?(key_assignment)
|
22
25
|
water_config.kafka.public_send(key_assignment, v)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Karafka
|
4
|
+
module Setup
|
5
|
+
# Dsl for allowing to work with the configuration from the Karafka::App
|
6
|
+
# @note Despite providing methods, everything is still persisted and fetched
|
7
|
+
# from the Karafka::Setup::Config
|
8
|
+
module Dsl
|
9
|
+
# Sets up the whole configuration
|
10
|
+
# @param [Block] block configuration block
|
11
|
+
def setup(&block)
|
12
|
+
Setup::Config.setup(&block)
|
13
|
+
initialize!
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Karafka::Config] config instance
|
17
|
+
def config
|
18
|
+
Setup::Config.config
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/karafka/templates/{application_controller.rb.example → application_consumer.rb.example}
RENAMED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Application
|
3
|
+
# Application consumer from which all Karafka consumers should inherit
|
4
4
|
# You can rename it if it would conflict with your current code base (in case you're integrating
|
5
5
|
# Karafka with other frameworks)
|
6
|
-
|
7
|
-
end
|
6
|
+
ApplicationConsumer = Class.new(Karafka::BaseConsumer)
|
@@ -21,18 +21,29 @@ class KarafkaApp < Karafka::App
|
|
21
21
|
config.batch_fetching = true
|
22
22
|
end
|
23
23
|
|
24
|
+
after_init do |config|
|
25
|
+
# Put here all the things you want to do after the Karafka framework
|
26
|
+
# initialization
|
27
|
+
end
|
28
|
+
|
29
|
+
# Comment out this part if you are not using instrumentation and/or you are not
|
30
|
+
# interested in logging events for certain environments. Since instrumentation
|
31
|
+
# notifications add extra boilerplate, if you want to achieve max performance,
|
32
|
+
# listen to only what you really need for given environment.
|
33
|
+
Karafka.monitor.subscribe(Karafka::Instrumentation::Listener)
|
34
|
+
|
24
35
|
consumer_groups.draw do
|
25
36
|
# topic :example do
|
26
|
-
#
|
37
|
+
# consumer ExampleConsumer
|
27
38
|
# end
|
28
39
|
|
29
40
|
# consumer_group :bigger_group do
|
30
41
|
# topic :test do
|
31
|
-
#
|
42
|
+
# consumer TestConsumer
|
32
43
|
# end
|
33
44
|
#
|
34
45
|
# topic :test2 do
|
35
|
-
#
|
46
|
+
# consumer Test2Consumer
|
36
47
|
# end
|
37
48
|
# end
|
38
49
|
end
|
data/lib/karafka/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2018-02-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '4.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '4.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: dry-configurable
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,6 +40,34 @@ dependencies:
|
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0.7'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: dry-inflector
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.1.1
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.1.1
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: dry-monitor
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0.1'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0.1'
|
43
71
|
- !ruby/object:Gem::Dependency
|
44
72
|
name: dry-validation
|
45
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,14 +144,14 @@ dependencies:
|
|
116
144
|
requirements:
|
117
145
|
- - ">="
|
118
146
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
147
|
+
version: 0.5.3
|
120
148
|
type: :runtime
|
121
149
|
prerelease: false
|
122
150
|
version_requirements: !ruby/object:Gem::Requirement
|
123
151
|
requirements:
|
124
152
|
- - ">="
|
125
153
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
154
|
+
version: 0.5.3
|
127
155
|
- !ruby/object:Gem::Dependency
|
128
156
|
name: thor
|
129
157
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,14 +172,14 @@ dependencies:
|
|
144
172
|
requirements:
|
145
173
|
- - ">="
|
146
174
|
- !ruby/object:Gem::Version
|
147
|
-
version: 1.0.
|
175
|
+
version: 1.2.0.beta1
|
148
176
|
type: :runtime
|
149
177
|
prerelease: false
|
150
178
|
version_requirements: !ruby/object:Gem::Requirement
|
151
179
|
requirements:
|
152
180
|
- - ">="
|
153
181
|
- !ruby/object:Gem::Version
|
154
|
-
version: 1.0.
|
182
|
+
version: 1.2.0.beta1
|
155
183
|
description: Framework used to simplify Apache Kafka based Ruby applications development
|
156
184
|
email:
|
157
185
|
- maciej@coditsu.io
|
@@ -182,8 +210,11 @@ files:
|
|
182
210
|
- lib/karafka/app.rb
|
183
211
|
- lib/karafka/attributes_map.rb
|
184
212
|
- lib/karafka/backends/inline.rb
|
185
|
-
- lib/karafka/
|
213
|
+
- lib/karafka/base_consumer.rb
|
186
214
|
- lib/karafka/base_responder.rb
|
215
|
+
- lib/karafka/callbacks.rb
|
216
|
+
- lib/karafka/callbacks/config.rb
|
217
|
+
- lib/karafka/callbacks/dsl.rb
|
187
218
|
- lib/karafka/cli.rb
|
188
219
|
- lib/karafka/cli/base.rb
|
189
220
|
- lib/karafka/cli/console.rb
|
@@ -191,29 +222,31 @@ files:
|
|
191
222
|
- lib/karafka/cli/info.rb
|
192
223
|
- lib/karafka/cli/install.rb
|
193
224
|
- lib/karafka/cli/server.rb
|
225
|
+
- lib/karafka/connection/client.rb
|
194
226
|
- lib/karafka/connection/config_adapter.rb
|
195
|
-
- lib/karafka/connection/
|
227
|
+
- lib/karafka/connection/delegator.rb
|
196
228
|
- lib/karafka/connection/listener.rb
|
197
|
-
- lib/karafka/
|
198
|
-
- lib/karafka/
|
199
|
-
- lib/karafka/
|
200
|
-
- lib/karafka/
|
201
|
-
- lib/karafka/controllers/single_params.rb
|
229
|
+
- lib/karafka/consumers/callbacks.rb
|
230
|
+
- lib/karafka/consumers/includer.rb
|
231
|
+
- lib/karafka/consumers/responders.rb
|
232
|
+
- lib/karafka/consumers/single_params.rb
|
202
233
|
- lib/karafka/errors.rb
|
203
234
|
- lib/karafka/fetcher.rb
|
204
235
|
- lib/karafka/helpers/class_matcher.rb
|
205
236
|
- lib/karafka/helpers/config_retriever.rb
|
206
237
|
- lib/karafka/helpers/multi_delegator.rb
|
238
|
+
- lib/karafka/instrumentation/listener.rb
|
239
|
+
- lib/karafka/instrumentation/logger.rb
|
240
|
+
- lib/karafka/instrumentation/monitor.rb
|
207
241
|
- lib/karafka/loader.rb
|
208
|
-
- lib/karafka/
|
209
|
-
- lib/karafka/monitor.rb
|
210
|
-
- lib/karafka/params/params.rb
|
242
|
+
- lib/karafka/params/dsl.rb
|
211
243
|
- lib/karafka/params/params_batch.rb
|
212
244
|
- lib/karafka/parsers/json.rb
|
213
245
|
- lib/karafka/patches/dry_configurable.rb
|
214
246
|
- lib/karafka/patches/ruby_kafka.rb
|
247
|
+
- lib/karafka/persistence/client.rb
|
215
248
|
- lib/karafka/persistence/consumer.rb
|
216
|
-
- lib/karafka/persistence/
|
249
|
+
- lib/karafka/persistence/topic.rb
|
217
250
|
- lib/karafka/process.rb
|
218
251
|
- lib/karafka/responders/builder.rb
|
219
252
|
- lib/karafka/responders/topic.rb
|
@@ -232,9 +265,11 @@ files:
|
|
232
265
|
- lib/karafka/server.rb
|
233
266
|
- lib/karafka/setup/config.rb
|
234
267
|
- lib/karafka/setup/configurators/base.rb
|
268
|
+
- lib/karafka/setup/configurators/params.rb
|
235
269
|
- lib/karafka/setup/configurators/water_drop.rb
|
270
|
+
- lib/karafka/setup/dsl.rb
|
236
271
|
- lib/karafka/status.rb
|
237
|
-
- lib/karafka/templates/
|
272
|
+
- lib/karafka/templates/application_consumer.rb.example
|
238
273
|
- lib/karafka/templates/application_responder.rb.example
|
239
274
|
- lib/karafka/templates/karafka.rb.example
|
240
275
|
- lib/karafka/version.rb
|
@@ -254,12 +289,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
254
289
|
version: 2.3.0
|
255
290
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
291
|
requirements:
|
257
|
-
- - "
|
292
|
+
- - ">"
|
258
293
|
- !ruby/object:Gem::Version
|
259
|
-
version:
|
294
|
+
version: 1.3.1
|
260
295
|
requirements: []
|
261
296
|
rubyforge_project:
|
262
|
-
rubygems_version: 2.
|
297
|
+
rubygems_version: 2.7.3
|
263
298
|
signing_key:
|
264
299
|
specification_version: 4
|
265
300
|
summary: Ruby based framework for working with Apache Kafka
|