carnivore-nsq 0.1.8 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51426c18010c2c755db91d0ecc57de7c619252bc
4
- data.tar.gz: ba0b5f24e32a1bc41b43f1ee8cadb3f4fa2b8d1c
3
+ metadata.gz: e399157a914d9409adf05677cc934b54f4d3a9b6
4
+ data.tar.gz: 31c2b2bcbfd04ca660829e41aba0519e67956d21
5
5
  SHA512:
6
- metadata.gz: 3e344591ee2ea0c053a1a6ece3bf8880dde978a7a329ea215b08a97a89842d0c1cd9249af2c0cf111dbf60eb90819d009cbeab5a02e682295dec2b1df02dbc54
7
- data.tar.gz: 43718d3d9f797d829f1e9b8ea19ed95bfa5f86f4a0aaf09822308dab448578176403d3800022d343a775be9c87269b96b02cc5c72ff08d4faf974f979076e4ad
6
+ metadata.gz: 657c05e4620f97360586a772857db9dd5b6c6298cce8b73d39b83346d3c2af5f7a62f6d9b8932e96159945ffc9cd95255a8da672458dbedf80d6fa914c42cc43
7
+ data.tar.gz: 86a14b6e8b833323dbc026342f70767a2333f9e20a333f092111da2ef9b75c7305c1cbfd510ef4b39cd8f33ebcc44ee59d629ab2312d7d7f84af4f4190dc84b2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v0.1.10
2
+ * Clean up exit trapping implementation
3
+ * Suppress exception errors on touch/lookup
4
+
1
5
  ## v0.1.8
2
6
  * Do not rebuild consumer on general teardown
3
7
  * Log if message confirmation is not successful
@@ -5,7 +5,7 @@ module Carnivore
5
5
  class Source
6
6
  class Nsq < Source
7
7
 
8
- trap_exit :consumer_failure
8
+ trap_exit :trapper
9
9
 
10
10
  # @return [String] default path for global lookupd configuration
11
11
  DEFAULT_LOOKUPD_PATH = '/etc/carnivore/nsq.json'
@@ -31,19 +31,38 @@ module Carnivore
31
31
  Krakow::Utils::Logging.level = (Carnivore::Config.get(:krakow, :logging, :level) || :info).to_sym
32
32
  end
33
33
 
34
- # Process linked failure
34
+ # Recover from exit if unexpected or tear down conenctions if requested
35
35
  #
36
36
  # @param obj [Celluloid::Actor] failed actor
37
37
  # @param exception [Exception] actor exception
38
- def consumer_failure(obj, exception)
38
+ def trapper(obj, exception)
39
39
  if(exception)
40
40
  exclusive do
41
41
  warn 'Consumer failure detected. Forcing termination and rebuilding.'
42
- @reader.terminate
42
+ begin
43
+ @reader.terminate
44
+ rescue => e
45
+ warn "Consumer error suppressed on termination: #{e.class} - #{e}"
46
+ end
43
47
  @reader = nil
44
48
  build_consumer
45
49
  info "Consumer connection for #{topic}:#{channel} re-established #{reader}"
46
50
  end
51
+ else
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}"
64
+ end
65
+ end
47
66
  end
48
67
  end
49
68
 
@@ -127,9 +146,13 @@ module Carnivore
127
146
  begin
128
147
  unless(consumer.confirm(message[:message]))
129
148
  error "Failed to confirm payload from source! (#{e})"
149
+ false
150
+ else
151
+ true
130
152
  end
131
153
  rescue Krakow::Error::LookupFailed => e
132
154
  error "Failed to confirm payload from source! (#{e})"
155
+ false
133
156
  end
134
157
  end
135
158
 
@@ -138,7 +161,13 @@ module Carnivore
138
161
  # @param message [Carnivore::Message]
139
162
  # @return [TrueClass]
140
163
  def touch(message)
141
- message[:message].touch
164
+ begin
165
+ message[:message].touch
166
+ true
167
+ rescue Krakow::Error::LookupFailed => e
168
+ error "Failed to touch payload from source! (#{e})"
169
+ false
170
+ end
142
171
  end
143
172
 
144
173
  private
@@ -1,6 +1,6 @@
1
1
  module Carnivore
2
2
  module Nsq
3
3
  # current library version
4
- VERSION = Gem::Version.new('0.1.8')
4
+ VERSION = Gem::Version.new('0.1.10')
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carnivore-nsq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-15 00:00:00.000000000 Z
11
+ date: 2014-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carnivore