fastly_nsq 1.4.1 → 1.5.0

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: 2e65fbb2ed6c6dd2005a6e1e2b94699b853692b7
4
- data.tar.gz: 3e787053513145e1c8937246650304b09cedd203
3
+ metadata.gz: 3c32c3f9d2cd2f85338848cc0755c270572fda54
4
+ data.tar.gz: b2fe431edb17100e5f6d3b96be45fedec6e7efc0
5
5
  SHA512:
6
- metadata.gz: bcb774c629e15be874f951c26e7af46f665c0ebce2d9db98a4805e738e8e30bd5cd9b0b231d3a02da1b56df187797d3618357a1f0749f4280e784b8f1816afa9
7
- data.tar.gz: c7fe9b04e3dfa3d40203ee1a960891177535729550ed7bb7f8382e0df7fc25171956b8aaadb961c8cc1cc4aa9f26bfd546e9b79cb238e2b61a9b8d421d8bc995
6
+ metadata.gz: 9bc72094ed5ae3a4e13857df307e70b4f9c95d3fe9fd62f1e1ec3e957638355aee03c70c0f2d55c5b0cdc2a4ed87727fc461fbd658acea29b8623557f5cfe0e2
7
+ data.tar.gz: 59122c8ecb1ce723027fcf46f9f9bc0592e7122620a6ef6cd67aa73005d604092cf2bf36ef9e6390d0e44c2b338ef146a9ed741c7784870bd3b3199dfa0e1ff0
data/lib/fastly_nsq.rb CHANGED
@@ -6,6 +6,7 @@ require 'fc'
6
6
  require 'set'
7
7
  require 'logger'
8
8
  require 'forwardable'
9
+ require 'digest/md5'
9
10
 
10
11
  module FastlyNsq
11
12
  NotConnectedError = Class.new(StandardError)
@@ -38,7 +38,19 @@ class FastlyNsq::Listener
38
38
 
39
39
  def call(nsq_message)
40
40
  message = FastlyNsq::Message.new(nsq_message)
41
- logger.info "[NSQ] Message received on topic [#{topic}]: #{message}"
41
+
42
+ logger.info do
43
+ {
44
+ channel: channel,
45
+ topic: topic,
46
+ attempts: nsq_message.attempts,
47
+ id: Digest::MD5.hexdigest(nsq_message.body.to_s),
48
+ metadata: message.meta,
49
+ }.tap do |l|
50
+ l[:data] = message.body if logger.level == Logger::DEBUG
51
+ end
52
+ end
53
+
42
54
  preprocessor&.call(message)
43
55
  result = processor.call(message)
44
56
  message.finish if result
@@ -48,6 +60,6 @@ class FastlyNsq::Listener
48
60
  def terminate
49
61
  return unless connected?
50
62
  consumer.terminate
51
- logger.info "< Consumer terminated: topic [#{topic}]"
63
+ logger.info "topic #{topic}, channel #{channel}: consumer terminated"
52
64
  end
53
65
  end
@@ -43,10 +43,10 @@ class FastlyNsq::Manager
43
43
  end
44
44
 
45
45
  def add_listener(listener)
46
- logger.info { "Listening to topic:'#{listener.topic}' on channel: '#{listener.channel}'" }
46
+ logger.info { "topic #{listener.topic}, channel #{listener.channel}: listening" }
47
47
 
48
48
  if topic_listeners[listener.topic]
49
- logger.warn { "topic: #{listener.topic} was added more than once" }
49
+ logger.warn { "topic #{listener.topic}: duplicate listener" }
50
50
  end
51
51
 
52
52
  topic_listeners[listener.topic] = listener
@@ -62,9 +62,13 @@ module FastlyNsq
62
62
 
63
63
  class TestMessage
64
64
  attr_reader :raw_body
65
+ attr_reader :attempts
66
+ attr_reader :id
65
67
 
66
68
  def initialize(raw_body)
67
69
  @raw_body = raw_body
70
+ @id = Digest::SHA1.hexdigest(raw_body.to_s + Time.now.to_s)
71
+ @attempts = 0
68
72
  end
69
73
 
70
74
  def body
@@ -78,7 +82,7 @@ module FastlyNsq
78
82
  end
79
83
 
80
84
  def requeue(*)
81
- # sure
85
+ @attempts += 1
82
86
  true
83
87
  end
84
88
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastlyNsq
4
- VERSION = '1.4.1'
4
+ VERSION = '1.5.0'
5
5
  end
@@ -130,7 +130,7 @@ RSpec.describe FastlyNsq::Listener do
130
130
  end
131
131
 
132
132
  describe 'faking', :fake do
133
- let!(:message) { { 'foo' => 'bar' } }
133
+ let!(:message) { JSON.dump('foo' => 'bar') }
134
134
 
135
135
  before { subject }
136
136
 
@@ -169,7 +169,7 @@ RSpec.describe FastlyNsq::Listener do
169
169
  end
170
170
 
171
171
  describe 'inline', :inline do
172
- let!(:message) { { 'foo' => 'bar' } }
172
+ let!(:message) { JSON.dump('foo' => 'bar') }
173
173
  let!(:processor) { ->(m) { messages << m.raw_body } }
174
174
 
175
175
  before { subject }
data/spec/spec_helper.rb CHANGED
@@ -20,7 +20,7 @@ if ENV['DEBUG']
20
20
  FastlyNsq.logger = Logger.new(STDOUT)
21
21
  else
22
22
  Concurrent.use_stdlib_logger(Logger::ERROR)
23
- FastlyNsq.logger = Logger.new(STDOUT).tap { |l| l.level = Logger::ERROR }
23
+ FastlyNsq.logger = Logger.new('/dev/null').tap { |l| l.level = Logger::DEBUG }
24
24
  end
25
25
 
26
26
  RSpec.configure do |config|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastly_nsq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tommy O'Neil
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-04-12 00:00:00.000000000 Z
16
+ date: 2018-04-16 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: awesome_print
@@ -239,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
239
  version: '0'
240
240
  requirements: []
241
241
  rubyforge_project:
242
- rubygems_version: 2.6.14
242
+ rubygems_version: 2.5.1
243
243
  signing_key:
244
244
  specification_version: 4
245
245
  summary: Fastly NSQ Adapter