carnivore-nsq 0.1.10 → 0.1.12
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 +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/carnivore-nsq/nsq.rb +28 -30
- data/lib/carnivore-nsq/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: 700c179d22a74cd68a9fe8f3dbb0eada60fb714d
|
|
4
|
+
data.tar.gz: ebe7fad4aa9f113ec0c2da015219e0528824bf34
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73d5c47b4129593fb4d23a3c7529b8ec23b077c16d8aa702ec117553cf1a76fe6494d12eaf527ed48093273d5f7bb3ccdb376cb43c58b9c597fa52f950c9acc2
|
|
7
|
+
data.tar.gz: 46632fa13da1eb9c77ac3e6a7c0fe259ab8e467a2ab8d4b9fc0ef6c5c964ac579950ce8aa229333aba0cbabe527f57d43abc2bd408708e08317f40c7b7460ef2
|
data/CHANGELOG.md
CHANGED
data/lib/carnivore-nsq/nsq.rb
CHANGED
|
@@ -38,31 +38,22 @@ module Carnivore
|
|
|
38
38
|
def trapper(obj, exception)
|
|
39
39
|
if(exception)
|
|
40
40
|
exclusive do
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
@reader
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
if(@reader && !@reader.alive?)
|
|
42
|
+
warn 'Consumer failure detected. Rebuilding.'
|
|
43
|
+
@reader = nil
|
|
44
|
+
build_consumer
|
|
45
|
+
info "Consumer connection for #{topic}:#{channel} re-established #{reader}"
|
|
46
46
|
end
|
|
47
|
-
@
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if(@reader)
|
|
53
|
-
begin
|
|
54
|
-
@reader.terminate
|
|
55
|
-
rescue => e
|
|
56
|
-
warn "Consumer error suppressed on termination: #{e.class} - #{e}"
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
if(@writer)
|
|
60
|
-
begin
|
|
61
|
-
@writer.terminate
|
|
62
|
-
rescue => e
|
|
63
|
-
warn "Producer error suppressed on termination: #{e.class} - #{e}"
|
|
47
|
+
unless(@writer.alive?)
|
|
48
|
+
warn 'Producer failure detected. Rebuilding.'
|
|
49
|
+
@writer = nil
|
|
50
|
+
build_producer
|
|
51
|
+
info "Producer connection for #{topic} re-established #{writer}"
|
|
64
52
|
end
|
|
65
53
|
end
|
|
54
|
+
else
|
|
55
|
+
@writer.terminate if @writer.alive?
|
|
56
|
+
@reader.terminate if @reader.alive?
|
|
66
57
|
end
|
|
67
58
|
end
|
|
68
59
|
|
|
@@ -79,14 +70,8 @@ module Carnivore
|
|
|
79
70
|
link @reader
|
|
80
71
|
end
|
|
81
72
|
|
|
82
|
-
#
|
|
83
|
-
def
|
|
84
|
-
unless(callbacks.empty?)
|
|
85
|
-
unless(lookupd.empty?)
|
|
86
|
-
build_consumer
|
|
87
|
-
info "Consumer connection for #{topic}:#{channel} established #{reader}"
|
|
88
|
-
end
|
|
89
|
-
end
|
|
73
|
+
# Build the producer connection
|
|
74
|
+
def build_producer
|
|
90
75
|
if(producer_args)
|
|
91
76
|
@writer = Krakow::Producer.new(
|
|
92
77
|
producer_args.merge(
|
|
@@ -96,6 +81,7 @@ module Carnivore
|
|
|
96
81
|
)
|
|
97
82
|
)
|
|
98
83
|
info "Producer TCP connection for #{topic} established #{writer}"
|
|
84
|
+
link @writer
|
|
99
85
|
elsif(http_transmit)
|
|
100
86
|
@writer = Krakow::Producer::Http.new(
|
|
101
87
|
Smash.new(
|
|
@@ -104,7 +90,19 @@ module Carnivore
|
|
|
104
90
|
)
|
|
105
91
|
)
|
|
106
92
|
info "Producer HTTP connection for #{topic} established #{writer}"
|
|
93
|
+
link @writer
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Establish required connections (producer/consumer)
|
|
98
|
+
def connect
|
|
99
|
+
unless(callbacks.empty?)
|
|
100
|
+
unless(lookupd.empty?)
|
|
101
|
+
build_consumer
|
|
102
|
+
info "Consumer connection for #{topic}:#{channel} established #{reader}"
|
|
103
|
+
end
|
|
107
104
|
end
|
|
105
|
+
build_producer
|
|
108
106
|
end
|
|
109
107
|
|
|
110
108
|
# @return [Krakow::Consumer]
|