emque-consuming 1.6.1 → 1.7.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
- 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