sidekiq_metered_exceptions 0.1.1 → 0.2.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: 9a51b45cb8ba0baa5bd485f34f0daf94583f87e6
4
- data.tar.gz: 3eca51f15da353bb318e43f8ec911891d206e37d
3
+ metadata.gz: 79b03042f7659b991d71c1fb5a5d5fe2f200fbd7
4
+ data.tar.gz: 0b71c4a04f953025c6bd7f271dd4d7e683323d21
5
5
  SHA512:
6
- metadata.gz: a127211e386065ed96a84eccb86ecd55031f1e1f6c356e5576e9721b4daa325d9d2de62fcce2a47b2278f547f995cda0d4ba4176296a8d908e1c412e69933c0f
7
- data.tar.gz: 473c12878270eafa2471c3cee7bd0bbc6f6fcd598a176e244b9a5ef20104529556b48b39a38bc27e9dbe195f549fac1ab8ccb6e279871f241d65471789c4040d
6
+ metadata.gz: dc885bc0c0ea35ccce8c3062f0d6628f8dbb965f366e44d92592ce11c67b7bd97dee60b65cdf2d0e799320c4a134f98bb15ecbeb3bc51432ef97bf70da65dedb
7
+ data.tar.gz: 4253bab7736d40e71d42fd1a2e1584e5a2f904f83eb2891b72d354ba5d1e7dcb0c625cbd1e2f4d187578c1efd9ab6ffad4368630aa3632d231cf7d4be9f7baa7
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
 
4
4
  gem 'sidekiq'
5
-
5
+ gem 'sentry-raven'
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
@@ -11,5 +11,4 @@ group :development do
11
11
  gem "rdoc"
12
12
  gem "bundler"
13
13
  gem "jeweler"
14
-
15
14
  end
data/Gemfile.lock CHANGED
@@ -57,6 +57,8 @@ GEM
57
57
  redis-namespace (1.3.0)
58
58
  redis (~> 3.0.0)
59
59
  semver2 (3.4.2)
60
+ sentry-raven (2.3.0)
61
+ faraday (>= 0.7.6, < 1.0)
60
62
  sidekiq (2.12.4)
61
63
  celluloid (>= 0.14.1)
62
64
  connection_pool (>= 1.0.0)
@@ -74,6 +76,7 @@ DEPENDENCIES
74
76
  jeweler
75
77
  minitest
76
78
  rdoc
79
+ sentry-raven
77
80
  sidekiq
78
81
 
79
82
  BUNDLED WITH
data/README.rdoc CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A tiny sidekiq middleware that silences transient errors.
4
4
 
5
+ After version 0.2.0 it is raven-sentry specific.
6
+
5
7
  == Copyright
6
8
 
7
9
  Copyright (c) 2013 ControlShift Ltd. See LICENSE.txt for
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
@@ -0,0 +1,16 @@
1
+ require 'sidekiq'
2
+ require 'raven/integrations/sidekiq'
3
+
4
+ module SidekiqMeteredExceptions
5
+ class MeteredRavenErrorHandler < ::Raven::Sidekiq
6
+ def call(ex, context)
7
+ retry_count = (context['retry_count'] || (context['job'] && context['job']['retry_count']))
8
+
9
+ if retry_count > 1
10
+ super(ex, context)
11
+ end
12
+ end
13
+ end
14
+ end
15
+
16
+
@@ -1 +1 @@
1
- require 'middleware'
1
+ require 'metered_raven_error_handler'
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: sidekiq_metered_exceptions 0.1.1 ruby lib
5
+ # stub: sidekiq_metered_exceptions 0.2.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "sidekiq_metered_exceptions".freeze
9
- s.version = "0.1.1"
9
+ s.version = "0.2.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Nathan Woodhull".freeze]
14
- s.date = "2017-01-18"
14
+ s.date = "2017-01-19"
15
15
  s.description = "Some exceptions are transient, so notifying an admin is not useful.".freeze
16
16
  s.email = "woodhull@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  "README.rdoc",
29
29
  "Rakefile",
30
30
  "VERSION",
31
- "lib/middleware.rb",
31
+ "lib/metered_raven_error_handler.rb",
32
32
  "lib/sidekiq_metered_exceptions.rb",
33
33
  "sidekiq_metered_exceptions.gemspec",
34
34
  "test/helper.rb",
@@ -44,12 +44,14 @@ Gem::Specification.new do |s|
44
44
 
45
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
46
  s.add_runtime_dependency(%q<sidekiq>.freeze, [">= 0"])
47
+ s.add_runtime_dependency(%q<sentry-raven>.freeze, [">= 0"])
47
48
  s.add_development_dependency(%q<minitest>.freeze, [">= 0"])
48
49
  s.add_development_dependency(%q<rdoc>.freeze, [">= 0"])
49
50
  s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
50
51
  s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
51
52
  else
52
53
  s.add_dependency(%q<sidekiq>.freeze, [">= 0"])
54
+ s.add_dependency(%q<sentry-raven>.freeze, [">= 0"])
53
55
  s.add_dependency(%q<minitest>.freeze, [">= 0"])
54
56
  s.add_dependency(%q<rdoc>.freeze, [">= 0"])
55
57
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
@@ -57,6 +59,7 @@ Gem::Specification.new do |s|
57
59
  end
58
60
  else
59
61
  s.add_dependency(%q<sidekiq>.freeze, [">= 0"])
62
+ s.add_dependency(%q<sentry-raven>.freeze, [">= 0"])
60
63
  s.add_dependency(%q<minitest>.freeze, [">= 0"])
61
64
  s.add_dependency(%q<rdoc>.freeze, [">= 0"])
62
65
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
@@ -3,24 +3,12 @@ require 'helper'
3
3
  class TestSidekiqMeteredExceptions < Minitest::Test
4
4
  describe 'middleware' do
5
5
  before do
6
- @middleware = SidekiqMeteredExceptions::Middleware.new
6
+ @exception = Exception.new
7
+ @middleware = SidekiqMeteredExceptions::MeteredRavenErrorHandler.new
7
8
  end
8
9
 
9
- it 'should propagate exception if there is no retry count' do
10
- assert_raises(Exception) { @middleware.call('worker', {}, 'queue') { raise Exception.new }}
11
- end
12
-
13
- it 'should propagate the exception if the retry count is greater than zero' do
14
- assert_raises(Exception) { @middleware.call('worker', {'retry_count' => 1}, 'queue') { raise Exception.new }}
15
- end
10
+ # todo: figure out how to use minitest.
16
11
 
17
- it 'should not propagate exception if the retry count is zero' do
18
- @middleware.call('worker', {'retry_count' => 0}, 'queue') { raise Exception.new }
19
- end
20
-
21
- it "should not interfere with successful jobs" do
22
- assert( @middleware.call('worker', {'retry_count' =>1}, 'queue') { return true })
23
- end
24
12
 
25
13
  end
26
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_metered_exceptions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Woodhull
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-18 00:00:00.000000000 Z
11
+ date: 2017-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sentry-raven
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: minitest
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -97,7 +111,7 @@ files:
97
111
  - README.rdoc
98
112
  - Rakefile
99
113
  - VERSION
100
- - lib/middleware.rb
114
+ - lib/metered_raven_error_handler.rb
101
115
  - lib/sidekiq_metered_exceptions.rb
102
116
  - sidekiq_metered_exceptions.gemspec
103
117
  - test/helper.rb
data/lib/middleware.rb DELETED
@@ -1,13 +0,0 @@
1
- module SidekiqMeteredExceptions
2
- class Middleware
3
-
4
- def call(worker, job, queue)
5
- begin
6
- yield
7
- rescue StandardError => ex
8
- # do not notify on the first occurrence of an exception
9
- raise(ex) if job['retry_count'] == nil || job['retry_count'] > 0
10
- end
11
- end
12
- end
13
- end