racecar 2.0.0.beta4 → 2.0.0.beta5

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: 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