ears 0.3.2 → 0.3.3

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
  SHA256:
3
- metadata.gz: 3f0fa1b69a334f5ec5d649478a46d0c78298621a2c879c3b62457b8dd41723fe
4
- data.tar.gz: e34d3bee6f15435ca5c9847b384aad75e6acd3ccd06dbb9a751a798f63f3a077
3
+ metadata.gz: 3835a06bd5867d23683c78bf3c6e5085d1eb2727942513c149321179148653b3
4
+ data.tar.gz: 5d4ca8ca77922b26d1a8942711e5041e5424d770cab14b2d71575dc9649dc18f
5
5
  SHA512:
6
- metadata.gz: 4d914d9a7e5ce22b6595899952626bbbec3b1885a6ff0b4fbf768560d4382dadb64578a9c305d0573afba36918e0eccd8c704ccfb681a76f606a09cf8b23b2c6
7
- data.tar.gz: f6f95145e4c70a565cd95755602116755e79000ca530883aadcf8d9461aacdf3d6828bf67533ed7f7458471473972839ef5745b1e44c933705678be119260f63
6
+ metadata.gz: b456745babafd48227eefe833562117a7e31cdc098cb0342b7ce6cdcd3bb69cc12005ef96b7ee6ed76c0dd589f6b36bf8094d3ab096b486912ff34a56975bbcb
7
+ data.tar.gz: 74019008d3b642ce586ab490cf520f6c2254f2500707503f1c6e7e5330b2dc0eb6aa75d039c15095b39d0c67118ae71545d318ec065de9c09e28e03f700c9428
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.3 (2021-06-07)
4
+
5
+ ### Changes
6
+
7
+ - Ears will now exit gracefully on unhandled errors to give the application a chance to do flushing and cleanup work
8
+
3
9
  ## 0.3.2 (2021-05-21)
4
10
 
5
11
  ### Changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ears (0.3.2)
4
+ ears (0.3.3)
5
5
  bunny
6
6
  multi_json
7
7
 
data/lib/ears.rb CHANGED
@@ -36,7 +36,7 @@ module Ears
36
36
  .create_channel(nil, 1, true)
37
37
  .tap do |channel|
38
38
  channel.prefetch(1)
39
- channel.on_uncaught_exception { |error| Thread.main.raise(error) }
39
+ channel.on_uncaught_exception { |error| Ears.error!(error) }
40
40
  end
41
41
  end
42
42
 
@@ -51,7 +51,15 @@ module Ears
51
51
  running = true
52
52
  Signal.trap('INT') { running = false }
53
53
  Signal.trap('TERM') { running = false }
54
- sleep 1 while running
54
+ sleep 1 while running && !@uncaught_error_occurred
55
+ end
56
+
57
+ # Signals that an uncaught error has occurred and the process should be stopped.
58
+ #
59
+ # @param [Exception] error The unhandled error that occurred.
60
+ def error!(error)
61
+ puts(error.full_message)
62
+ @uncaught_error_occurred = true
55
63
  end
56
64
 
57
65
  # Used internally for testing.
data/lib/ears/setup.rb CHANGED
@@ -62,7 +62,7 @@ module Ears
62
62
  .create_channel(nil, 1, true)
63
63
  .tap do |channel|
64
64
  channel.prefetch(args.fetch(:prefetch, 1))
65
- channel.on_uncaught_exception { |error| Thread.main.raise(error) }
65
+ channel.on_uncaught_exception { |error| Ears.error!(error) }
66
66
  end
67
67
  end
68
68
 
data/lib/ears/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ears
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  end
data/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "on-prem-importer",
2
+ "name": "ears",
3
3
  "private": true,
4
4
  "scripts": {
5
5
  "prettify": "prettier \"**/*.{ru,rb,yml,yaml,md,gemspec,json}\" --ignore-path=\".gitignore\"",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ears
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Mainz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-21 00:00:00.000000000 Z
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny