franz 2.0.1 → 2.0.2

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/franz/output/kafka.rb +18 -13
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd20ae601a812f14da2e9d9146e9d74970659581
4
- data.tar.gz: 69e9d35c516f2cf92a318f8bc33ffc63f7639429
3
+ metadata.gz: 18c5e2e6c0b3f391583e4f98d594091363865650
4
+ data.tar.gz: 31764ccf1465afbbc33ca45d198f85c839c20fdd
5
5
  SHA512:
6
- metadata.gz: 73af588b20cba91ff0c5cacd024976b003cec1a9ed0e3950652e0684ab8041393351b88d09d25199b996a844ffd8760f99da19f8ed418332d2d105443ba4a763
7
- data.tar.gz: a9b99b414f778002471fc9ef24c133f57a06091304ba2c644decb6c1707d86ec323b7c7bd8730e523ac26aabe9724f997bbbfac438605f3d9427bfd176a3d871
6
+ metadata.gz: d132f1ebf38ca2691b12cb9e5143414b07ae2301254a6b8c7f608176818311e2ffc29a97600a1b935850b6b0f738e99a8e650257da59e2d1264b1c770dead8c2
7
+ data.tar.gz: 757893332467aaeeb7eb9398534b817b981dea1a518e27e83b07b57add7fab505dc86bc1636309884d1e6b135aaed0ba6e9bddd926853273b967b67711bdfb73
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.1
1
+ 2.0.2
@@ -25,6 +25,7 @@ module Franz
25
25
  tags: [],
26
26
  input: [],
27
27
  output: {
28
+ topic: 'franz',
28
29
  flush_interval: 10,
29
30
  flush_size: 500,
30
31
  client_id: @@host,
@@ -49,6 +50,7 @@ module Franz
49
50
 
50
51
  @flush_size = opts[:output].delete :flush_size
51
52
  @flush_interval = opts[:output].delete :flush_interval
53
+ @topic = opts[:output].delete :topic
52
54
 
53
55
  kafka_brokers = opts[:output].delete(:brokers) || %w[ localhost:9092 ]
54
56
  kafka_client_id = opts[:output].delete :client_id
@@ -67,15 +69,15 @@ module Franz
67
69
 
68
70
  @thread = Thread.new do
69
71
  loop do
70
- ready_messages = []
71
72
  @lock.synchronize do
72
73
  ready_messages = @messages
73
74
  @messages = []
75
+ @kafka.send_messages ready_messages unless ready_messages.empty?
76
+ log.debug \
77
+ event: 'periodic flush',
78
+ num_messages: ready_messages.size
74
79
  end
75
- @kafka.send_messages ready_messages unless ready_messages.empty?
76
- log.debug \
77
- event: 'periodic flush',
78
- num_messages: ready_messages.size
80
+
79
81
  sleep @flush_interval
80
82
  end
81
83
  end
@@ -90,16 +92,19 @@ module Franz
90
92
  raw: event
91
93
 
92
94
  payload = JSON::generate(event)
93
- @messages << Poseidon::MessageToSend.new(event[:type].to_s, payload)
94
95
 
95
- @statz.inc :num_output
96
+ @lock.synchronize do
97
+ @messages << Poseidon::MessageToSend.new(@topic, payload)
98
+
99
+ @statz.inc :num_output
96
100
 
97
- if @messages.size >= @flush_size
98
- @kafka.send_messages @messages
99
- log.debug \
100
- event: 'flush',
101
- num_messages: @messages.size
102
- @messages = []
101
+ if @messages.size >= @flush_size
102
+ @kafka.send_messages @messages
103
+ log.debug \
104
+ event: 'flush',
105
+ num_messages: @messages.size
106
+ @messages = []
107
+ end
103
108
  end
104
109
 
105
110
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: franz
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Clemmer