fastly_nsq 1.4.1 → 1.5.0

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 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