franz 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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