carnivore-nsq 0.1.10 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- 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]
|