racecar 2.0.0.beta4 → 2.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 122d0f341c95b64073cc1ff75891b59c08f9b841ef1245dd2d2a10c70b96677d
4
- data.tar.gz: 3e2149507a928c8ecc89c706389d311c7852b4f22aa9d8036a5d0ca44cc4338a
3
+ metadata.gz: f37b63d59011da69d49663e81d80b7681ab0ec703ca1641d95d8869d767ab60b
4
+ data.tar.gz: be70ea61f2571a4f0e5a44be4984b3126374530abb8cb0a376809d3566c73d3e
5
5
  SHA512:
6
- metadata.gz: f49748fe4e0a549effac3b728dd43edd0885df0a3954ef20daa35f3ac5f994ad582ca0a52ef65fb04dc8dc995f0f7e051c045a2edd5f01617ba3be2fd4d4d939
7
- data.tar.gz: f6c118896b4c4a83be5350fbeb2b3ce3be57e18fb68811a39f7aa6dd69b78a174e7ed8bd5536a10210bc37bc979eb7d5c3006160e7c750e60ed9e9ecc767fcd1
6
+ metadata.gz: b3224f3e237adff5f5d069a651708ee68c0e1ef2a2f61f95cae1eb864c0685d8bd20d9648870f147b1384d71025658852b504ebfafeeedcd9ef31dd56e23eac0
7
+ data.tar.gz: 1e1ddf3901371f8863798c209dda31da2901e78d4b36d072ee4f4fd9569d0538ccbac66f3bbc033da69e38d4419e1c849ef8133ad64463931bf601e5530ec824
data/README.md CHANGED
@@ -467,7 +467,7 @@ Racecar.config.on_error do |exception, info|
467
467
  end
468
468
  ```
469
469
 
470
- It is highly recommended that you set up an error handler.
470
+ It is highly recommended that you set up an error handler. Please note that the `info` object contains different keys and values depending on whether you are using `process` or `process_batch`. See the `instrumentation_payload` object in the `process` and `process_batch` methods in the `Runner` class for the complete list.
471
471
 
472
472
 
473
473
  ### Logging
@@ -13,6 +13,8 @@ rescue SignalException => e
13
13
  raise
14
14
  end
15
15
  rescue
16
+ # Exceptions are printed to STDERR and sent to the error handler
17
+ # in `Racecar::Cli#run`, so we don't need to do anything here.
16
18
  exit(1)
17
19
  else
18
20
  exit(0)
@@ -28,6 +28,9 @@ module Racecar
28
28
  desc "The maxium number of messages that get consumed within one batch"
29
29
  integer :fetch_messages, default: 1000
30
30
 
31
+ desc "Minimum number of bytes the broker responds with"
32
+ integer :fetch_min_bytes, default: 1
33
+
31
34
  desc "Automatically store offset of last message provided to application"
32
35
  boolean :synchronous_commits, default: false
33
36
 
@@ -54,21 +54,29 @@ module Racecar
54
54
  protected
55
55
 
56
56
  # https://github.com/appsignal/rdkafka-ruby#producing-messages
57
- def produce(payload, topic:, key:, headers: nil, create_time: nil)
57
+ def produce(payload, topic:, key:, partition_key: nil, headers: nil, create_time: nil)
58
58
  @delivery_handles ||= []
59
59
  message_size = payload.respond_to?(:bytesize) ? payload.bytesize : 0
60
60
  instrumentation_payload = {
61
- value: payload,
62
- headers: headers,
63
- key: key,
64
- topic: topic,
61
+ value: payload,
62
+ headers: headers,
63
+ key: key,
64
+ partition_key: partition_key,
65
+ topic: topic,
65
66
  message_size: message_size,
66
- create_time: Time.now,
67
- buffer_size: @delivery_handles.size
67
+ create_time: Time.now,
68
+ buffer_size: @delivery_handles.size,
68
69
  }
69
70
 
70
71
  @instrumenter.instrument("produce_message", instrumentation_payload) do
71
- @delivery_handles << @producer.produce(topic: topic, payload: payload, key: key, timestamp: create_time, headers: headers)
72
+ @delivery_handles << @producer.produce(
73
+ topic: topic,
74
+ payload: payload,
75
+ key: key,
76
+ partition_key: partition_key,
77
+ timestamp: create_time,
78
+ headers: headers,
79
+ )
72
80
  end
73
81
  end
74
82
 
@@ -174,7 +174,8 @@ module Racecar
174
174
  "client.id" => @config.client_id,
175
175
  "enable.partition.eof" => false,
176
176
  "fetch.max.bytes" => @config.max_bytes,
177
- "fetch.message.max.bytes" => subscription.max_bytes_per_partition,
177
+ "message.max.bytes" => subscription.max_bytes_per_partition,
178
+ "fetch.min.bytes" => @config.fetch_min_bytes,
178
179
  "fetch.wait.max.ms" => @config.max_wait_time * 1000,
179
180
  "group.id" => @config.group_id,
180
181
  "heartbeat.interval.ms" => @config.heartbeat_interval * 1000,
@@ -1,3 +1,3 @@
1
1
  module Racecar
2
- VERSION = "2.0.0.beta4"
2
+ VERSION = "2.0.0.beta5"
3
3
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ["lib"]
22
22
 
23
23
  spec.add_runtime_dependency "king_konf", "~> 0.3.7"
24
- spec.add_runtime_dependency "rdkafka", "~> 0.6.0"
24
+ spec.add_runtime_dependency "rdkafka", "~> 0.8.0.beta.1"
25
25
 
26
26
  spec.add_development_dependency "bundler", [">= 1.13", "< 3"]
27
27
  spec.add_development_dependency "rake", "> 10.0"
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.0.0.beta4
4
+ version: 2.0.0.beta5
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: 2020-02-26 00:00:00.000000000 Z
12
+ date: 2020-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: king_konf
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.6.0
34
+ version: 0.8.0.beta.1
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 0.6.0
41
+ version: 0.8.0.beta.1
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement