racecar 3.0.0.alpha.1 → 3.0.0.alpha.3
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/racecar/config.rb +1 -1
- data/lib/racecar/consumer_set.rb +1 -0
- data/lib/racecar/partition_processor.rb +3 -3
- data/lib/racecar/runner.rb +5 -0
- data/lib/racecar/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 043070ffc30189dd4f500a691316db7a2a55422078b7bf5f31b81ff45aa69cab
|
|
4
|
+
data.tar.gz: 73a2d774f56f7f14d18c5c43691f185ab64fd7e2f3cd6a29dfcad8b9111f00b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0ea838d6e6381660a88b6e1d71c95d0fbe741609dc216b18830d8a74eee78b0d56a6e05713b4f12ac28f60146b566f4f125d53b4c4bd4c52c3c13459941fac4
|
|
7
|
+
data.tar.gz: 213281a3b10ad91e3d7bcbf3a8974fbf15d8e1b5905518d3a4f13505ede101d254a433f86b1e7f875ccdad3c7d4d59fbc570b0d9db63f146615f4f454a65bd85
|
data/Gemfile.lock
CHANGED
data/lib/racecar/config.rb
CHANGED
|
@@ -194,7 +194,7 @@ module Racecar
|
|
|
194
194
|
desc "Strategy for switching topics when there are multiple subscriptions. `exhaust-topic` will only switch when the consumer poll returns no messages. `round-robin` will switch after each poll regardless.\nWarning: `round-robin` will be the default in Racecar 3.x"
|
|
195
195
|
string :multi_subscription_strategy, allowed_values: %w(round-robin exhaust-topic), default: "exhaust-topic"
|
|
196
196
|
|
|
197
|
-
desc "
|
|
197
|
+
desc "Enable multithreaded processing (one thread per partition). Set `RACECAR_MULTITHREADED_PROCESSING_ENABLED=1` to enable."
|
|
198
198
|
boolean :multithreaded_processing_enabled, default: false
|
|
199
199
|
|
|
200
200
|
desc "Max size of the queue of messages waiting to be processed when multithreaded processing is enabled"
|
data/lib/racecar/consumer_set.rb
CHANGED
|
@@ -20,7 +20,7 @@ module Racecar
|
|
|
20
20
|
@consumer = consumer
|
|
21
21
|
@rdkafka_consumer = rdkafka_consumer
|
|
22
22
|
|
|
23
|
-
if config.multithreaded_processing_enabled
|
|
23
|
+
if @config.multithreaded_processing_enabled
|
|
24
24
|
consumer_class_instance.configure(
|
|
25
25
|
producer: consumer.producer,
|
|
26
26
|
consumer: @consumer,
|
|
@@ -93,7 +93,7 @@ module Racecar
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
def resume_paused_partition
|
|
96
|
-
return if config.pause_timeout == 0
|
|
96
|
+
return if config.pause_timeout == 0
|
|
97
97
|
|
|
98
98
|
@instrumenter.instrument("pause_status", {
|
|
99
99
|
topic: topic,
|
|
@@ -127,7 +127,7 @@ module Racecar
|
|
|
127
127
|
private
|
|
128
128
|
|
|
129
129
|
def with_error_handling(messages, payload)
|
|
130
|
-
if config.multithreaded_processing_enabled
|
|
130
|
+
if @config.multithreaded_processing_enabled
|
|
131
131
|
with_multi_threaded_error_handling(messages, payload) { |pause| yield(pause) }
|
|
132
132
|
else
|
|
133
133
|
with_single_threaded_error_handling(messages, payload) { |pause| yield(pause) }
|
data/lib/racecar/runner.rb
CHANGED
|
@@ -13,6 +13,11 @@ module Racecar
|
|
|
13
13
|
class Runner
|
|
14
14
|
attr_reader :consumer_class, :config, :logger, :partition_processors
|
|
15
15
|
|
|
16
|
+
# Kept for backward compatibility — external code calls `processor`.
|
|
17
|
+
def processor
|
|
18
|
+
@consumer_class_instance
|
|
19
|
+
end
|
|
20
|
+
|
|
16
21
|
def initialize(consumer_class, config:, logger:, instrumenter: NullInstrumenter)
|
|
17
22
|
@consumer_class, @config, @logger = consumer_class, config, logger
|
|
18
23
|
@instrumenter = instrumenter
|
data/lib/racecar/version.rb
CHANGED