codeclimate-kafka 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cc/kafka/consumer.rb +10 -2
- data/lib/cc/kafka/version.rb +1 -1
- 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: 60a376171edc1e992b10b08d773cc48e3ea88149
|
4
|
+
data.tar.gz: c22754e9df2eb3de27a43fc8ad7f2e9cef5f88c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90dd796b1c45ccf2e84c90cbaebfa00a0445420f821f2997f36879c8e5c4903497a6b82120ee58b0e29a31ea65690e183fb30ea97fb6aa124040078865a71c25
|
7
|
+
data.tar.gz: 02f9ef5f677afa75ab78c48050a78c987f9e4b016923e3931fc3be318298b1c9cd31d135a50643a2bf890f7533953466ea6c06f78690c8fa7920b05928db41db
|
data/lib/cc/kafka/consumer.rb
CHANGED
@@ -3,6 +3,8 @@ require "poseidon"
|
|
3
3
|
module CC
|
4
4
|
module Kafka
|
5
5
|
class Consumer
|
6
|
+
MESSAGE_OFFSET_KEY = "kafka_message_offset".freeze
|
7
|
+
|
6
8
|
def initialize(client_id, seed_brokers, topic, partition)
|
7
9
|
@offset = Kafka.offset_model.find_or_create!(
|
8
10
|
topic: topic,
|
@@ -34,7 +36,6 @@ module CC
|
|
34
36
|
end
|
35
37
|
|
36
38
|
Kafka.logger.info("shutting down due to TERM signal")
|
37
|
-
|
38
39
|
ensure
|
39
40
|
@consumer.close
|
40
41
|
end
|
@@ -52,7 +53,14 @@ module CC
|
|
52
53
|
@offset.set(current: message.offset + 1)
|
53
54
|
|
54
55
|
Kafka.offset_model.transaction do
|
55
|
-
|
56
|
+
data = BSON.deserialize(message.value)
|
57
|
+
data[MESSAGE_OFFSET_KEY] = [
|
58
|
+
@offset.topic,
|
59
|
+
@offset.partition,
|
60
|
+
message.offset,
|
61
|
+
].join("-")
|
62
|
+
|
63
|
+
@on_message.call(data)
|
56
64
|
end
|
57
65
|
end
|
58
66
|
Kafka.statsd.increment("messages.processed")
|
data/lib/cc/kafka/version.rb
CHANGED