sidekiq-failures 1.0.0 → 1.0.1

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
- SHA1:
3
- metadata.gz: e856dd820aab39c74c1206b00aecebfaa2b1532d
4
- data.tar.gz: 0c639951b4f5f9b6e0621e59a13fd839c67c7400
2
+ SHA256:
3
+ metadata.gz: 411bc0eb000e29f27b3d5afd27e39719c693df17ce7b08baace66e42f4b8c402
4
+ data.tar.gz: 88174d41395b3953bf089590775e8e34725c4f47109a379727df08c4331ad8d8
5
5
  SHA512:
6
- metadata.gz: 99093da61f43fa228f73cf872e3e2a8d38a38745acdf7ca0bddca02de9e36cce1092f8ab3cb0a9f0cc20823a37ac21743fecedc2d17c1a57194fa9c9670e951e
7
- data.tar.gz: b04bf490ec4caa513fee332c21fb317bed2cf41192b0da42199aa79f5d7ec19c0713a4fde3047b091c4650efd7a4db059de452ac40f0e1f0aff191ac47d1ede2
6
+ metadata.gz: 90a60cb2e7b0e8dac73aa3cc188d81e4616354ecdc259bb82680fea63cf2e171e19ddb009f21b686ab95fe30fcb9b0090d45335aaaf16c4985d9770e584aa749
7
+ data.tar.gz: 76886912d60887ed578b1b9d2e3ac0b4824b0db0087d776f590ef6c2cf060ad543d331848173c4e0c285ce72789c315586a4bbea6ce7f8b777db9ea17a293057
data/.travis.yml CHANGED
@@ -3,9 +3,6 @@ sudo: false
3
3
  cache: bundler
4
4
  services:
5
5
  - redis-server
6
- before_install:
7
- - gem install bundler
8
- - gem update bundler
9
6
  rvm:
10
7
  - jruby-9.1.6.0
11
8
  - 2.2.4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 1.0.1
4
+
5
+ * Add license config to the gemspec (#115 @reiz)
6
+ * Guard against failure error_message being `nil` (#122 @mcasper)
7
+ * Fix filtering failures with 0 results on Sidekiq Pro (#125 @substars)
8
+
3
9
  ## 1.0.0
4
10
 
5
11
  * WebUI improvements (@bbtfr)
data/Gemfile CHANGED
@@ -4,3 +4,9 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'sidekiq', ENV['SIDEKIQ_VERSION'] if ENV['SIDEKIQ_VERSION']
7
+
8
+ # to test Pro-specific functionality, set SIDEKIQ_PRO_CREDS on `bundle install`
9
+ # and SIDEKIQ_PRO_VERSION on `bundle install` and `rake test`
10
+ source "https://#{ENV['SIDEKIQ_PRO_CREDS']}@enterprise.contribsys.com/" do
11
+ gem 'sidekiq-pro', ENV['SIDEKIQ_PRO_VERSION'] if ENV['SIDEKIQ_PRO_VERSION']
12
+ end if ENV['SIDEKIQ_PRO_VERSION']
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module Failures
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
@@ -2,7 +2,7 @@
2
2
  <div class="col-sm-5">
3
3
  <h3><%= t('FailedJobs') %></h3>
4
4
  </div>
5
- <% if @failures.size > 0 && @total_size > @count %>
5
+ <% if @failures.count > 0 && @total_size > @count %>
6
6
  <div class="col-sm-4">
7
7
  <%= erb :_paging, :locals => { :url => "#{root_path}failures" } %>
8
8
  </div>
@@ -10,7 +10,7 @@
10
10
  <%= filtering('failures') if respond_to?(:filtering) %>
11
11
  </header>
12
12
 
13
- <% if @failures.size > 0 %>
13
+ <% if @failures.count > 0 %>
14
14
  <form action="<%= root_path %>failures" method="post">
15
15
  <%= csrf_tag if respond_to?(:csrf_tag) %>
16
16
  <table class="table table-striped table-bordered table-white">
@@ -45,7 +45,7 @@
45
45
  </td>
46
46
  <td style="overflow: auto; padding: 10px;">
47
47
  <a class="backtrace" href="#" onclick="$(this).next().toggle(); return false">
48
- <%= h entry['error_class'] %>: <%= h entry['error_message'].size > 500 ? entry['error_message'][0..500] + '...' : entry['error_message'] %>
48
+ <%= h entry['error_class'] %>: <%= h entry['error_message'].to_s.size > 500 ? entry['error_message'][0..500] + '...' : entry['error_message'] %>
49
49
  </a>
50
50
  <pre style="display: none; background: none; border: 0; width: 100%; max-height: 30em; font-size: 0.8em; white-space: nowrap; overflow: auto;">
51
51
  <%= entry['error_backtrace'].join("<br />") if entry['error_backtrace'] %>
@@ -70,7 +70,7 @@
70
70
  <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
71
71
  </form>
72
72
 
73
- <% if @failures.size > 0 && @total_size > @count %>
73
+ <% if @failures.count > 0 && @total_size > @count %>
74
74
  <div class="col-sm-4">
75
75
  <%= erb :_paging, :locals => { :url => "#{root_path}failures" } %>
76
76
  </div>
@@ -86,7 +86,7 @@ module Sidekiq
86
86
  app.post '/filter/failures' do
87
87
  @failures = Sidekiq::Failures::FailureSet.new.scan("*#{params[:substr]}*")
88
88
  @current_page = 1
89
- @count = @total_size = @failures.size
89
+ @count = @total_size = @failures.count
90
90
  render(:erb, File.read(File.join(view_path, "failures.erb")))
91
91
  end
92
92
  end
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.description = %q{Keep track of Sidekiq failed jobs}
8
8
  gem.summary = %q{Keeps track of Sidekiq failed jobs and adds a tab to the Web UI to let you browse them. Makes use of Sidekiq's custom tabs and middleware chain.}
9
9
  gem.homepage = "https://github.com/mhfs/sidekiq-failures/"
10
+ gem.license = "MIT"
10
11
 
11
12
  gem.files = `git ls-files`.split($\)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -17,6 +18,13 @@ Gem::Specification.new do |gem|
17
18
 
18
19
  gem.add_dependency "sidekiq", ">= 4.0.0"
19
20
 
21
+ # Redis 4.X is incompatible with Ruby < 2.3, but the Ruby version constraint
22
+ # wasn't added until 4.1.2, meaning you can get an incompatible version of the
23
+ # redis gem when running Ruby 2.2 without this constraint.
24
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.3.0")
25
+ gem.add_dependency "redis", "< 4.0"
26
+ end
27
+
20
28
  gem.add_development_dependency "minitest"
21
29
  gem.add_development_dependency "rake"
22
30
  gem.add_development_dependency "rack-test"
@@ -6,7 +6,7 @@ module Sidekiq
6
6
  before do
7
7
  $invokes = 0
8
8
  @boss = MiniTest::Mock.new
9
- 2.times { @boss.expect(:options, {:queues => ['default'] }, []) }
9
+ num_options_calls.times { @boss.expect(:options, {:queues => ['default'] }, []) }
10
10
  @processor = ::Sidekiq::Processor.new(@boss)
11
11
  Sidekiq.server_middleware {|chain| chain.add Sidekiq::Failures::Middleware }
12
12
  Sidekiq.redis = REDIS
@@ -232,7 +232,7 @@ module Sidekiq
232
232
 
233
233
  3.times do
234
234
  boss = MiniTest::Mock.new
235
- 2.times { boss.expect(:options, {:queues => ['default'] }, []) }
235
+ num_options_calls.times { boss.expect(:options, {:queues => ['default'] }, []) }
236
236
  processor = ::Sidekiq::Processor.new(boss)
237
237
 
238
238
  actor = MiniTest::Mock.new
@@ -278,6 +278,14 @@ module Sidekiq
278
278
  def create_work(msg)
279
279
  Sidekiq::BasicFetch::UnitOfWork.new('default', Sidekiq.dump_json(msg))
280
280
  end
281
+
282
+ def num_options_calls
283
+ if Gem::Version.new(Sidekiq::VERSION) >= Gem::Version.new('5.0.3')
284
+ 3
285
+ else
286
+ 2
287
+ end
288
+ end
281
289
  end
282
290
  end
283
291
  end
data/test/test_helper.rb CHANGED
@@ -7,6 +7,7 @@ require "minitest/mock"
7
7
  require "rack/test"
8
8
 
9
9
  require "sidekiq"
10
+ require "sidekiq-pro" if ENV['SIDEKIQ_PRO_VERSION']
10
11
  require "sidekiq-failures"
11
12
  require "sidekiq/processor"
12
13
  require "sidekiq/fetch"
@@ -5,7 +5,7 @@ module Sidekiq
5
5
  describe "WebExtension" do
6
6
  include Rack::Test::Methods
7
7
 
8
- TOKEN = rand(2**128-1).freeze
8
+ TOKEN = SecureRandom.base64(32).freeze
9
9
 
10
10
  def app
11
11
  Sidekiq::Web
@@ -138,6 +138,14 @@ module Sidekiq
138
138
  last_response.status.must_equal 200
139
139
  last_response.body.must_match(/No failed jobs found/)
140
140
  end
141
+
142
+ it 'can handle failures with nil error_message' do
143
+ create_sample_failure(error_message: nil)
144
+
145
+ get '/failures'
146
+
147
+ last_response.status.must_equal 200
148
+ end
141
149
  end
142
150
 
143
151
  describe 'when there is failure' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-failures
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcelo Silveira
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-12 00:00:00.000000000 Z
11
+ date: 2021-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -126,9 +126,10 @@ files:
126
126
  - test/test_helper.rb
127
127
  - test/web_extension_test.rb
128
128
  homepage: https://github.com/mhfs/sidekiq-failures/
129
- licenses: []
129
+ licenses:
130
+ - MIT
130
131
  metadata: {}
131
- post_install_message:
132
+ post_install_message:
132
133
  rdoc_options: []
133
134
  require_paths:
134
135
  - lib
@@ -143,9 +144,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
144
  - !ruby/object:Gem::Version
144
145
  version: '0'
145
146
  requirements: []
146
- rubyforge_project:
147
- rubygems_version: 2.6.11
148
- signing_key:
147
+ rubygems_version: 3.2.3
148
+ signing_key:
149
149
  specification_version: 4
150
150
  summary: Keeps track of Sidekiq failed jobs and adds a tab to the Web UI to let you
151
151
  browse them. Makes use of Sidekiq's custom tabs and middleware chain.