racecar 2.4.0 → 2.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bb07a3f984de71b18b9401ec7908158aba831c54a4972e9de7af59d2d7ae3ea
4
- data.tar.gz: 6e00e2f40495624944963868001e0cf20885c9f33e49ad8d147d0037562e96fa
3
+ metadata.gz: 91b2364f47ab248a2311ddd8164e41c6f2749a66a0acb02c8f5b97e4d33f8f4f
4
+ data.tar.gz: 447eef9ccabae8fd2ecdccd79a910c9445556f2ca1cd29064d68b4e2aa70654e
5
5
  SHA512:
6
- metadata.gz: 0f5d1b6b84dbd96343a09387709676e0ac1250f1ac79f82225cb2060d8900f91f724f1bf0c722d6c440ce6c65ee175da930fc0bd542f6138eeeaab7d80d9662a
7
- data.tar.gz: ca635a04ca6ea5019e625563417ac5c3097d2999d145a26089a9f86eb00312cf242110dcf44958180bdafbfebac5a319fb70b559d2cebe364c906caa93db9ced
6
+ metadata.gz: 2d9bf1559b276e14050f74f709ac461a5241fa2c558e260c9eb6d2e722061d8a7032e39b30aaed091f7db6ae9d8202750ec6ba0e74f4d91f6d510078af803568
7
+ data.tar.gz: 52830f9b015384a91b337964157570e159afffe8a14d792420af45d30f97494209703aca2460f61960920988f66bd0a3771a036b0e9ae83528860510bf0eef1b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ ## v2.5.0
6
+
7
+ * `fetch_messages` can be configured per consumer, just as the maximum timeout to wait for a full batch.
8
+
3
9
  ## v2.4.0
4
10
 
5
11
  * Update librdkafka version from 1.4.0 to 1.5.0 by upgrading from rdkafka 0.8.0 to 0.10.0. ([#263](https://github.com/zendesk/racecar/pull/263))
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- racecar (2.3.1)
4
+ racecar (2.4.0)
5
5
  king_konf (~> 1.0.0)
6
6
  rdkafka (~> 0.10.0)
7
7
 
@@ -16,7 +16,7 @@ GEM
16
16
  coderay (1.1.3)
17
17
  concurrent-ruby (1.1.9)
18
18
  diff-lcs (1.4.4)
19
- dogstatsd-ruby (4.8.2)
19
+ dogstatsd-ruby (5.2.0)
20
20
  ffi (1.15.4)
21
21
  i18n (1.8.10)
22
22
  concurrent-ruby (~> 1.0)
@@ -56,7 +56,7 @@ PLATFORMS
56
56
  DEPENDENCIES
57
57
  activesupport (< 6.0)
58
58
  bundler (>= 1.13, < 3)
59
- dogstatsd-ruby (>= 4.0.0, < 5.0.0)
59
+ dogstatsd-ruby (>= 4.0.0, < 6.0.0)
60
60
  pry
61
61
  racecar!
62
62
  rake (> 10.0)
@@ -64,4 +64,4 @@ DEPENDENCIES
64
64
  timecop
65
65
 
66
66
  BUNDLED WITH
67
- 2.2.15
67
+ 2.2.26
data/README.md CHANGED
@@ -269,6 +269,10 @@ end
269
269
  - `group_id` – The group id to use for a given group of consumers. Note that this _must_ be different for each consumer class. If left blank a group id is generated based on the consumer class name such that (for example) a consumer with the class name `BaconConsumer` would default to a group id of `bacon-consumer`.
270
270
  - `group_id_prefix` – A prefix used when generating consumer group names. For instance, if you set the prefix to be `kevin.` and your consumer class is named `BaconConsumer`, the resulting consumer group will be named `kevin.bacon-consumer`.
271
271
 
272
+ #### Batches
273
+
274
+ - `fetch_messages` - The number of messages to fetch in a single batch. This can be set on a per consumer basis.
275
+
272
276
  #### Logging
273
277
 
274
278
  - `logfile` – A filename that log messages should be written to. Default is `nil`, which means logs will be written to standard output.
@@ -223,6 +223,7 @@ module Racecar
223
223
  self.parallel_workers = consumer_class.parallel_workers
224
224
  self.subscriptions = consumer_class.subscriptions
225
225
  self.max_wait_time = consumer_class.max_wait_time || self.max_wait_time
226
+ self.fetch_messages = consumer_class.fetch_messages || self.fetch_messages
226
227
  self.pidfile ||= "#{group_id}.pid"
227
228
  end
228
229
 
@@ -9,7 +9,7 @@ module Racecar
9
9
  class << self
10
10
  attr_accessor :max_wait_time
11
11
  attr_accessor :group_id
12
- attr_accessor :producer, :consumer, :parallel_workers
12
+ attr_accessor :producer, :consumer, :parallel_workers, :fetch_messages
13
13
 
14
14
  def subscriptions
15
15
  @subscriptions ||= []
@@ -63,10 +63,14 @@ module Racecar
63
63
  clear
64
64
  end
65
65
 
66
+ def close
67
+ @statsd&.close
68
+ end
69
+
66
70
  private
67
71
 
68
72
  def clear
69
- @statsd && @statsd.close
73
+ close
70
74
  @statsd = nil
71
75
  end
72
76
  end
@@ -92,6 +92,7 @@ module Racecar
92
92
  end
93
93
  ensure
94
94
  producer.close
95
+ Racecar::Datadog.close if Object.const_defined?("Racecar::Datadog")
95
96
  end
96
97
 
97
98
  def stop
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Racecar
4
- VERSION = "2.4.0"
4
+ VERSION = "2.5.0"
5
5
  end
data/racecar.gemspec CHANGED
@@ -30,6 +30,6 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "rake", "> 10.0"
31
31
  spec.add_development_dependency "rspec", "~> 3.0"
32
32
  spec.add_development_dependency "timecop"
33
- spec.add_development_dependency "dogstatsd-ruby", ">= 4.0.0", "< 5.0.0"
33
+ spec.add_development_dependency "dogstatsd-ruby", ">= 4.0.0", "< 6.0.0"
34
34
  spec.add_development_dependency "activesupport", ">= 4.0", "< 6.1"
35
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: racecar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-09-20 00:00:00.000000000 Z
12
+ date: 2022-01-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: king_konf
@@ -124,7 +124,7 @@ dependencies:
124
124
  version: 4.0.0
125
125
  - - "<"
126
126
  - !ruby/object:Gem::Version
127
- version: 5.0.0
127
+ version: 6.0.0
128
128
  type: :development
129
129
  prerelease: false
130
130
  version_requirements: !ruby/object:Gem::Requirement
@@ -134,7 +134,7 @@ dependencies:
134
134
  version: 4.0.0
135
135
  - - "<"
136
136
  - !ruby/object:Gem::Version
137
- version: 5.0.0
137
+ version: 6.0.0
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: activesupport
140
140
  requirement: !ruby/object:Gem::Requirement