emque-consuming 1.6.1 → 1.7.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
- SHA256:
3
- metadata.gz: bd761adf7f6566312a595dc7daeabb177df4bc66a0fa8eba94aca0fc0f2bda12
4
- data.tar.gz: a2b0e6f4d089df133d0df082e36bb7fe54318813d348cdeb94af3f06ec6772d1
2
+ SHA1:
3
+ metadata.gz: a7cb13ff862f06e20c37a2ab24e63d27bae8a7bc
4
+ data.tar.gz: 20d04ac78c5f6898997b777a13fc41dfedf7e52d
5
5
  SHA512:
6
- metadata.gz: e2d8e044f5507502fbc4f58263c78d50840a3ac95f187bd780328b2a206fdd1ba74f13283d28c09184ba0df00924b24a47d6bb07bdc4975ef540ca467240927f
7
- data.tar.gz: f790e603dafdf50498496651ac226b211b3071064cfec902ba66be54d35b3e3824b56e281a1c2f22962fdfbfda1457d873b2a5657e5db439d1f9ca42467eec03
6
+ metadata.gz: 409d9bb814d8c61640b9ae466a60c2b1cf87e59373430cb14e566060420171e6ec68b4fdfe9bd723d4b6c52957151007670b88e4717db1791c0eb62916cb91ef
7
+ data.tar.gz: b253f6405bfc98ad0ce91cd9a93767bd10d6033a8203ff30b56569c83398c3b943df7a1ed5c088bcc4c283d1853a76ee65b90a3a5415fc18b27f1b8f8e774012
@@ -1,9 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.3.8
4
- - 2.4.6
5
- - 2.5.5
6
- - 2.6.3
4
+ - 2.4.9
5
+ - 2.5.7
6
+ - 2.6.5
7
7
  script: bundle exec rake
8
8
  notifications:
9
9
  recipients:
@@ -1,5 +1,6 @@
1
1
  # Emque Consuming CHANGELOG
2
2
 
3
+ - [Update pipe-ruby to remove error handling](https://github.com/emque/emque-consuming/pull/78) 1.7.0
3
4
  - [Fixes bug with Bunny 2.12 failing when exchange names are symbols](https://github.com/emque/emque-consuming/pull/77) 1.6.1
4
5
  - [Re-enable pipe-ruby `raise_on_error` option to fix automatic retries directing messages to the error queue](https://github.com/emque/emque-consuming/pull/75) 1.6.0
5
6
  - [Update the puma gem to allow v3](https://github.com/emque/emque-consuming/pull/72) 1.5.0
@@ -6,7 +6,7 @@ require "emque/consuming/version"
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "emque-consuming"
8
8
  spec.version = Emque::Consuming::VERSION
9
- spec.authors = ["Ryan Williams", "Dan Matthews"]
9
+ spec.authors = ["Ryan Williams", "Dan Matthews", "Paul Hanyzewski"]
10
10
  spec.email = ["oss@teamsnap.com"]
11
11
  spec.summary = %q{Microservices framework for Ruby}
12
12
  spec.summary = %q{Microservices framework for Ruby}
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency "oj", "~> 2.18.5"
25
25
  spec.add_dependency "virtus", "~> 1.0"
26
26
  spec.add_dependency "puma", "~> 3.12"
27
- spec.add_dependency "pipe-ruby", "~> 0.2.0"
27
+ spec.add_dependency "pipe-ruby", "~> 1.0"
28
28
  spec.add_dependency "inflecto", "~> 0.0.2"
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.7"
@@ -11,6 +11,9 @@ module Emque
11
11
 
12
12
  def process(message)
13
13
  pipe(message, :through => [:parse, :route])
14
+ rescue => e
15
+ handle_error(e, message)
16
+ raise
14
17
  end
15
18
 
16
19
  private
@@ -29,6 +32,28 @@ module Emque
29
32
  message
30
33
  )
31
34
  end
35
+
36
+ def handle_error(e, subject)
37
+ context = {
38
+ :consumer => self.class.name,
39
+ :message => {
40
+ :current => subject.values,
41
+ :original => subject.original
42
+ },
43
+ :topic => subject.topic
44
+ }
45
+
46
+ # log the error by default
47
+ Emque::Consuming.logger.error("Error consuming message #{e}")
48
+ Emque::Consuming.logger.error(context)
49
+ Emque::Consuming.logger.error e.backtrace.join("\n") unless e.backtrace.nil?
50
+
51
+ Emque::Consuming.config.error_handlers.each do |handler|
52
+ handler.call(e, context)
53
+ end
54
+
55
+ Emque::Consuming.application.instance.notice_error(context)
56
+ end
32
57
  end
33
58
  end
34
59
  end
@@ -16,7 +16,6 @@ module Emque
16
16
  def self.included(descendant)
17
17
  descendant.class_eval do
18
18
  attr_reader :message
19
- private :handle_error, :pipe
20
19
  end
21
20
  end
22
21
 
@@ -26,36 +25,9 @@ module Emque
26
25
 
27
26
  def pipe_config
28
27
  @pipe_config ||= Pipe::Config.new(
29
- :error_handlers => [method(:handle_error)],
30
- :raise_on_error => true,
31
28
  :stop_on => ->(msg, _, _) { !(msg.respond_to?(:continue?) && msg.continue?) }
32
29
  )
33
30
  end
34
-
35
- def handle_error(e, method:, subject:)
36
- context = {
37
- :consumer => self.class.name,
38
- :message => {
39
- :current => subject.values,
40
- :original => subject.original
41
- },
42
- :offset => subject.offset,
43
- :partition => subject.partition,
44
- :pipe_method => method,
45
- :topic => subject.topic
46
- }
47
-
48
- # log the error by default
49
- Emque::Consuming.logger.error("Error consuming message #{e}")
50
- Emque::Consuming.logger.error(context)
51
- Emque::Consuming.logger.error e.backtrace.join("\n") unless e.backtrace.nil?
52
-
53
- Emque::Consuming.config.error_handlers.each do |handler|
54
- handler.call(e, context)
55
- end
56
-
57
- Emque::Consuming.application.instance.notice_error(context)
58
- end
59
31
  end
60
32
  end
61
33
  end
@@ -1,5 +1,5 @@
1
1
  module Emque
2
2
  module Consuming
3
- VERSION = "1.6.1"
3
+ VERSION = "1.7.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emque-consuming
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Williams
8
8
  - Dan Matthews
9
+ - Paul Hanyzewski
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2019-08-05 00:00:00.000000000 Z
13
+ date: 2020-03-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: celluloid
@@ -87,14 +88,14 @@ dependencies:
87
88
  requirements:
88
89
  - - "~>"
89
90
  - !ruby/object:Gem::Version
90
- version: 0.2.0
91
+ version: '1.0'
91
92
  type: :runtime
92
93
  prerelease: false
93
94
  version_requirements: !ruby/object:Gem::Requirement
94
95
  requirements:
95
96
  - - "~>"
96
97
  - !ruby/object:Gem::Version
97
- version: 0.2.0
98
+ version: '1.0'
98
99
  - !ruby/object:Gem::Dependency
99
100
  name: inflecto
100
101
  requirement: !ruby/object:Gem::Requirement
@@ -289,7 +290,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
290
  - !ruby/object:Gem::Version
290
291
  version: '0'
291
292
  requirements: []
292
- rubygems_version: 3.0.3
293
+ rubyforge_project:
294
+ rubygems_version: 2.5.2.3
293
295
  signing_key:
294
296
  specification_version: 4
295
297
  summary: Microservices framework for Ruby