karafka 2.0.0.alpha1 → 2.0.0.alpha4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/ci.yml +3 -1
- data/CHANGELOG.md +14 -1
- data/CONTRIBUTING.md +6 -6
- data/Gemfile.lock +24 -24
- data/LICENSE +3 -0
- data/bin/integrations +44 -8
- data/bin/karafka +4 -0
- data/bin/stress +1 -1
- data/config/errors.yml +1 -0
- data/docker-compose.yml +1 -0
- data/karafka.gemspec +1 -1
- data/lib/active_job/karafka.rb +16 -13
- data/lib/active_job/queue_adapters/karafka_adapter.rb +3 -6
- data/lib/karafka/active_job/consumer.rb +24 -0
- data/lib/karafka/active_job/dispatcher.rb +38 -0
- data/lib/karafka/active_job/job_extensions.rb +34 -0
- data/lib/karafka/active_job/job_options_contract.rb +15 -0
- data/lib/karafka/active_job/routing_extensions.rb +18 -0
- data/lib/karafka/app.rb +1 -0
- data/lib/karafka/cli/info.rb +3 -3
- data/lib/karafka/cli/install.rb +1 -0
- data/lib/karafka/cli/server.rb +2 -16
- data/lib/karafka/contracts/base.rb +23 -0
- data/lib/karafka/contracts/config.rb +21 -3
- data/lib/karafka/contracts/consumer_group.rb +1 -3
- data/lib/karafka/contracts/consumer_group_topic.rb +2 -3
- data/lib/karafka/contracts/server_cli_options.rb +1 -3
- data/lib/karafka/errors.rb +4 -0
- data/lib/karafka/instrumentation/monitor.rb +1 -0
- data/lib/karafka/instrumentation/stdout_listener.rb +3 -0
- data/lib/karafka/licenser.rb +20 -9
- data/lib/karafka/messages/batch_metadata.rb +2 -0
- data/lib/karafka/messages/builders/batch_metadata.rb +23 -1
- data/lib/karafka/pro/active_job/dispatcher.rb +58 -0
- data/lib/karafka/pro/active_job/job_options_contract.rb +27 -0
- data/lib/karafka/pro/loader.rb +29 -0
- data/lib/karafka/pro.rb +13 -0
- data/lib/karafka/processing/worker.rb +1 -1
- data/lib/karafka/railtie.rb +55 -19
- data/lib/karafka/routing/builder.rb +1 -11
- data/lib/karafka/routing/subscription_group.rb +5 -5
- data/lib/karafka/routing/subscription_groups_builder.rb +1 -0
- data/lib/karafka/routing/topic.rb +1 -0
- data/lib/karafka/setup/config.rb +25 -20
- data/lib/karafka/status.rb +1 -0
- data/lib/karafka/templates/karafka.rb.erb +1 -1
- data/lib/karafka/version.rb +1 -1
- data/lib/karafka.rb +7 -2
- data.tar.gz.sig +0 -0
- metadata +14 -7
- metadata.gz.sig +0 -0
- data/.github/FUNDING.yml +0 -3
- data/lib/active_job/consumer.rb +0 -22
- data/lib/active_job/routing_extensions.rb +0 -15
data/lib/karafka.rb
CHANGED
@@ -65,6 +65,11 @@ module Karafka
|
|
65
65
|
Pathname.new(File.expand_path('karafka', __dir__))
|
66
66
|
end
|
67
67
|
|
68
|
+
# @return [Boolean] true if there is a valid pro token present
|
69
|
+
def pro?
|
70
|
+
App.config.license.token != false
|
71
|
+
end
|
72
|
+
|
68
73
|
# @return [String] path to a default file that contains booting procedure etc
|
69
74
|
# @note By default it is a file called 'karafka.rb' but it can be specified as you wish if you
|
70
75
|
# have Karafka that is merged into a Sinatra/Rails app and karafka.rb is taken.
|
@@ -82,8 +87,8 @@ end
|
|
82
87
|
|
83
88
|
loader = Zeitwerk::Loader.for_gem
|
84
89
|
# Do not load Rails extensions by default, this will be handled by Railtie if they are needed
|
85
|
-
loader.
|
90
|
+
loader.ignore(Karafka.gem_root.join('lib/active_job'))
|
86
91
|
# Do not load pro components, this will be handled by license manager
|
87
|
-
loader.
|
92
|
+
loader.ignore(Karafka.gem_root.join('lib/karafka/pro'))
|
88
93
|
loader.setup
|
89
94
|
loader.eager_load
|
data.tar.gz.sig
CHANGED
Binary file
|
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: 2.0.0.
|
4
|
+
version: 2.0.0.alpha4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
|
35
35
|
pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2022-
|
37
|
+
date: 2022-03-20 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: dry-configurable
|
@@ -112,7 +112,7 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - ">="
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 2.
|
115
|
+
version: 2.2.0
|
116
116
|
- - "<"
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: 3.0.0
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 2.
|
125
|
+
version: 2.2.0
|
126
126
|
- - "<"
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: 3.0.0
|
@@ -151,7 +151,6 @@ files:
|
|
151
151
|
- ".coditsu/ci.yml"
|
152
152
|
- ".console_irbrc"
|
153
153
|
- ".diffend.yml"
|
154
|
-
- ".github/FUNDING.yml"
|
155
154
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
156
155
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
157
156
|
- ".github/workflows/ci.yml"
|
@@ -178,11 +177,14 @@ files:
|
|
178
177
|
- config/errors.yml
|
179
178
|
- docker-compose.yml
|
180
179
|
- karafka.gemspec
|
181
|
-
- lib/active_job/consumer.rb
|
182
180
|
- lib/active_job/karafka.rb
|
183
181
|
- lib/active_job/queue_adapters/karafka_adapter.rb
|
184
|
-
- lib/active_job/routing_extensions.rb
|
185
182
|
- lib/karafka.rb
|
183
|
+
- lib/karafka/active_job/consumer.rb
|
184
|
+
- lib/karafka/active_job/dispatcher.rb
|
185
|
+
- lib/karafka/active_job/job_extensions.rb
|
186
|
+
- lib/karafka/active_job/job_options_contract.rb
|
187
|
+
- lib/karafka/active_job/routing_extensions.rb
|
186
188
|
- lib/karafka/app.rb
|
187
189
|
- lib/karafka/base_consumer.rb
|
188
190
|
- lib/karafka/cli.rb
|
@@ -197,6 +199,7 @@ files:
|
|
197
199
|
- lib/karafka/connection/pauses_manager.rb
|
198
200
|
- lib/karafka/connection/rebalance_manager.rb
|
199
201
|
- lib/karafka/contracts.rb
|
202
|
+
- lib/karafka/contracts/base.rb
|
200
203
|
- lib/karafka/contracts/config.rb
|
201
204
|
- lib/karafka/contracts/consumer_group.rb
|
202
205
|
- lib/karafka/contracts/consumer_group_topic.rb
|
@@ -221,6 +224,10 @@ files:
|
|
221
224
|
- lib/karafka/messages/metadata.rb
|
222
225
|
- lib/karafka/messages/seek.rb
|
223
226
|
- lib/karafka/patches/rdkafka/consumer.rb
|
227
|
+
- lib/karafka/pro.rb
|
228
|
+
- lib/karafka/pro/active_job/dispatcher.rb
|
229
|
+
- lib/karafka/pro/active_job/job_options_contract.rb
|
230
|
+
- lib/karafka/pro/loader.rb
|
224
231
|
- lib/karafka/process.rb
|
225
232
|
- lib/karafka/processing/executor.rb
|
226
233
|
- lib/karafka/processing/executors_buffer.rb
|
metadata.gz.sig
CHANGED
Binary file
|
data/.github/FUNDING.yml
DELETED
data/lib/active_job/consumer.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveJob
|
4
|
-
# This is the consumer for ActiveJob that eats the messages enqueued with it one after another.
|
5
|
-
# It marks the offset after each message, so we make sure, none of the jobs is executed twice
|
6
|
-
class Consumer < Karafka::BaseConsumer
|
7
|
-
# Executes the ActiveJob logic
|
8
|
-
# @note ActiveJob does not support batches, so we just run one message after another
|
9
|
-
def consume
|
10
|
-
messages.each do |message|
|
11
|
-
ActiveJob::Base.execute(
|
12
|
-
# We technically speaking could set this as deserializer and reference it from the
|
13
|
-
# message instead of using the `#raw_payload`. This is not done on purpose to simplify
|
14
|
-
# the ActiveJob setup here
|
15
|
-
ActiveSupport::JSON.decode(message.raw_payload)
|
16
|
-
)
|
17
|
-
|
18
|
-
mark_as_consumed(message)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveJob
|
4
|
-
# Routing extensions for ActiveJob
|
5
|
-
module RoutingExtensions
|
6
|
-
# This method simplifies routes definition for ActiveJob topics / queues by auto-injecting the
|
7
|
-
# consumer class
|
8
|
-
# @param name [String, Symbol] name of the topic where ActiveJobs jobs should go
|
9
|
-
def active_job_topic(name)
|
10
|
-
topic(name) do
|
11
|
-
consumer ActiveJob::Consumer
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|