franz 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/franz/output/kafka.rb +18 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18c5e2e6c0b3f391583e4f98d594091363865650
|
4
|
+
data.tar.gz: 31764ccf1465afbbc33ca45d198f85c839c20fdd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d132f1ebf38ca2691b12cb9e5143414b07ae2301254a6b8c7f608176818311e2ffc29a97600a1b935850b6b0f738e99a8e650257da59e2d1264b1c770dead8c2
|
7
|
+
data.tar.gz: 757893332467aaeeb7eb9398534b817b981dea1a518e27e83b07b57add7fab505dc86bc1636309884d1e6b135aaed0ba6e9bddd926853273b967b67711bdfb73
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.2
|
data/lib/franz/output/kafka.rb
CHANGED
@@ -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
|
-
|
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
|
-
@
|
96
|
+
@lock.synchronize do
|
97
|
+
@messages << Poseidon::MessageToSend.new(@topic, payload)
|
98
|
+
|
99
|
+
@statz.inc :num_output
|
96
100
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
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
|