sidekiq 5.1.3 → 5.2.10
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.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- checksums.yaml +5 -5
 - data/.circleci/config.yml +61 -0
 - data/.gitignore +2 -0
 - data/.travis.yml +2 -5
 - data/COMM-LICENSE +11 -9
 - data/Changes.md +80 -0
 - data/Ent-Changes.md +22 -0
 - data/Gemfile +16 -5
 - data/Pro-Changes.md +30 -0
 - data/README.md +1 -1
 - data/Rakefile +2 -1
 - data/bin/sidekiqctl +13 -92
 - data/bin/sidekiqload +1 -1
 - data/lib/sidekiq/api.rb +50 -15
 - data/lib/sidekiq/cli.rb +64 -58
 - data/lib/sidekiq/client.rb +4 -3
 - data/lib/sidekiq/ctl.rb +221 -0
 - data/lib/sidekiq/job_logger.rb +2 -2
 - data/lib/sidekiq/job_retry.rb +33 -12
 - data/lib/sidekiq/launcher.rb +15 -8
 - data/lib/sidekiq/manager.rb +3 -3
 - data/lib/sidekiq/middleware/server/active_record.rb +1 -1
 - data/lib/sidekiq/processor.rb +76 -25
 - data/lib/sidekiq/rails.rb +2 -1
 - data/lib/sidekiq/redis_connection.rb +20 -1
 - data/lib/sidekiq/scheduled.rb +32 -3
 - data/lib/sidekiq/testing.rb +4 -4
 - data/lib/sidekiq/version.rb +1 -1
 - data/lib/sidekiq/web/action.rb +1 -1
 - data/lib/sidekiq/web/application.rb +26 -1
 - data/lib/sidekiq/web/helpers.rb +13 -6
 - data/lib/sidekiq/worker.rb +24 -8
 - data/lib/sidekiq.rb +5 -3
 - data/sidekiq.gemspec +5 -12
 - data/web/assets/javascripts/application.js +0 -0
 - data/web/assets/javascripts/dashboard.js +15 -5
 - data/web/assets/stylesheets/application.css +35 -2
 - data/web/assets/stylesheets/bootstrap.css +2 -2
 - data/web/locales/ar.yml +1 -0
 - data/web/locales/en.yml +1 -0
 - data/web/locales/es.yml +3 -3
 - data/web/views/_nav.erb +3 -17
 - data/web/views/layout.erb +1 -1
 - data/web/views/queue.erb +1 -0
 - data/web/views/queues.erb +1 -1
 - data/web/views/retries.erb +4 -0
 - metadata +19 -86
 
    
        data/lib/sidekiq.rb
    CHANGED
    
    | 
         @@ -1,4 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       2 
3 
     | 
    
         
             
            require 'sidekiq/version'
         
     | 
| 
       3 
4 
     | 
    
         
             
            fail "Sidekiq #{Sidekiq::VERSION} does not support Ruby versions below 2.2.2." if RUBY_PLATFORM != 'java' && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.2')
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
         @@ -17,7 +18,7 @@ module Sidekiq 
     | 
|
| 
       17 
18 
     | 
    
         
             
              DEFAULTS = {
         
     | 
| 
       18 
19 
     | 
    
         
             
                queues: [],
         
     | 
| 
       19 
20 
     | 
    
         
             
                labels: [],
         
     | 
| 
       20 
     | 
    
         
            -
                concurrency:  
     | 
| 
      
 21 
     | 
    
         
            +
                concurrency: 10,
         
     | 
| 
       21 
22 
     | 
    
         
             
                require: '.',
         
     | 
| 
       22 
23 
     | 
    
         
             
                environment: nil,
         
     | 
| 
       23 
24 
     | 
    
         
             
                timeout: 8,
         
     | 
| 
         @@ -56,6 +57,7 @@ module Sidekiq 
     | 
|
| 
       56 
57 
     | 
    
         
             
              def self.options
         
     | 
| 
       57 
58 
     | 
    
         
             
                @options ||= DEFAULTS.dup
         
     | 
| 
       58 
59 
     | 
    
         
             
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       59 
61 
     | 
    
         
             
              def self.options=(opts)
         
     | 
| 
       60 
62 
     | 
    
         
             
                @options = opts
         
     | 
| 
       61 
63 
     | 
    
         
             
              end
         
     | 
| 
         @@ -94,8 +96,8 @@ module Sidekiq 
     | 
|
| 
       94 
96 
     | 
    
         
             
                  begin
         
     | 
| 
       95 
97 
     | 
    
         
             
                    yield conn
         
     | 
| 
       96 
98 
     | 
    
         
             
                  rescue Redis::CommandError => ex
         
     | 
| 
       97 
     | 
    
         
            -
                    #2550 Failover can cause the server to become a  
     | 
| 
       98 
     | 
    
         
            -
                    # to disconnect and reopen the socket to get back to the  
     | 
| 
      
 99 
     | 
    
         
            +
                    #2550 Failover can cause the server to become a replica, need
         
     | 
| 
      
 100 
     | 
    
         
            +
                    # to disconnect and reopen the socket to get back to the primary.
         
     | 
| 
       99 
101 
     | 
    
         
             
                    (conn.disconnect!; retryable = false; retry) if retryable && ex.message =~ /READONLY/
         
     | 
| 
       100 
102 
     | 
    
         
             
                    raise
         
     | 
| 
       101 
103 
     | 
    
         
             
                  end
         
     | 
    
        data/sidekiq.gemspec
    CHANGED
    
    | 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
            require File.expand_path('../lib/sidekiq/version', __FILE__)
         
     | 
| 
      
 1 
     | 
    
         
            +
            require_relative 'lib/sidekiq/version'
         
     | 
| 
       3 
2 
     | 
    
         | 
| 
       4 
3 
     | 
    
         
             
            Gem::Specification.new do |gem|
         
     | 
| 
       5 
4 
     | 
    
         
             
              gem.authors       = ["Mike Perham"]
         
     | 
| 
         @@ -11,18 +10,12 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       11 
10 
     | 
    
         | 
| 
       12 
11 
     | 
    
         
             
              gem.executables   = ['sidekiq', 'sidekiqctl']
         
     | 
| 
       13 
12 
     | 
    
         
             
              gem.files         = `git ls-files | grep -Ev '^(test|myapp|examples)'`.split("\n")
         
     | 
| 
       14 
     | 
    
         
            -
              gem.test_files    = []
         
     | 
| 
       15 
13 
     | 
    
         
             
              gem.name          = "sidekiq"
         
     | 
| 
       16 
     | 
    
         
            -
              gem.require_paths = ["lib"]
         
     | 
| 
       17 
14 
     | 
    
         
             
              gem.version       = Sidekiq::VERSION
         
     | 
| 
       18 
15 
     | 
    
         
             
              gem.required_ruby_version = ">= 2.2.2"
         
     | 
| 
       19 
16 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
              gem.add_dependency 
     | 
| 
       21 
     | 
    
         
            -
              gem.add_dependency 
     | 
| 
       22 
     | 
    
         
            -
              gem.add_dependency 
     | 
| 
       23 
     | 
    
         
            -
              gem.add_dependency 
     | 
| 
       24 
     | 
    
         
            -
              gem.add_development_dependency      'redis-namespace', '~> 1.5', '>= 1.5.2'
         
     | 
| 
       25 
     | 
    
         
            -
              gem.add_development_dependency      'minitest', '~> 5.10', '>= 5.10.1'
         
     | 
| 
       26 
     | 
    
         
            -
              gem.add_development_dependency      'rake', '~> 10.0'
         
     | 
| 
       27 
     | 
    
         
            -
              gem.add_development_dependency      'rails', '>= 3.2.0'
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem.add_dependency "redis", "~> 4.5", "< 4.6.0"
         
     | 
| 
      
 18 
     | 
    
         
            +
              gem.add_dependency 'connection_pool', '~> 2.2', '>= 2.2.2'
         
     | 
| 
      
 19 
     | 
    
         
            +
              gem.add_dependency 'rack', '~> 2.0'
         
     | 
| 
      
 20 
     | 
    
         
            +
              gem.add_dependency 'rack-protection', '>= 1.5.0'
         
     | 
| 
       28 
21 
     | 
    
         
             
            end
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -298,8 +298,18 @@ var debounce = function(fn, timeout) 
     | 
|
| 
       298 
298 
     | 
    
         
             
              }
         
     | 
| 
       299 
299 
     | 
    
         
             
            };
         
     | 
| 
       300 
300 
     | 
    
         | 
| 
       301 
     | 
    
         
            -
            window.onresize =  
     | 
| 
       302 
     | 
    
         
            -
             
     | 
| 
       303 
     | 
    
         
            -
             
     | 
| 
       304 
     | 
    
         
            -
             
     | 
| 
       305 
     | 
    
         
            -
             
     | 
| 
      
 301 
     | 
    
         
            +
            window.onresize = function() {
         
     | 
| 
      
 302 
     | 
    
         
            +
              var prevWidth = window.innerWidth;
         
     | 
| 
      
 303 
     | 
    
         
            +
              
         
     | 
| 
      
 304 
     | 
    
         
            +
              return debounce(function () {
         
     | 
| 
      
 305 
     | 
    
         
            +
                var currWidth = window.innerWidth;
         
     | 
| 
      
 306 
     | 
    
         
            +
                
         
     | 
| 
      
 307 
     | 
    
         
            +
                if (prevWidth !== currWidth) {
         
     | 
| 
      
 308 
     | 
    
         
            +
                  prevWidth = currWidth;
         
     | 
| 
      
 309 
     | 
    
         
            +
                  
         
     | 
| 
      
 310 
     | 
    
         
            +
                  clearInterval(poller);
         
     | 
| 
      
 311 
     | 
    
         
            +
                  resetGraphs();
         
     | 
| 
      
 312 
     | 
    
         
            +
                  renderGraphs();
         
     | 
| 
      
 313 
     | 
    
         
            +
                }
         
     | 
| 
      
 314 
     | 
    
         
            +
              }, 125);
         
     | 
| 
      
 315 
     | 
    
         
            +
            }();
         
     | 
| 
         @@ -126,7 +126,7 @@ header.row .pagination { 
     | 
|
| 
       126 
126 
     | 
    
         
             
              text-align: center;
         
     | 
| 
       127 
127 
     | 
    
         
             
              width: 14%;
         
     | 
| 
       128 
128 
     | 
    
         
             
            }
         
     | 
| 
       129 
     | 
    
         
            -
            @media (max-width: 767px) and (min-width:  
     | 
| 
      
 129 
     | 
    
         
            +
            @media (max-width: 767px) and (min-width: 200px) {
         
     | 
| 
       130 
130 
     | 
    
         
             
              .summary_bar ul li {
         
     | 
| 
       131 
131 
     | 
    
         
             
                width: 100%;
         
     | 
| 
       132 
132 
     | 
    
         
             
              }
         
     | 
| 
         @@ -219,6 +219,29 @@ table .table-checkbox label { 
     | 
|
| 
       219 
219 
     | 
    
         
             
              color: #585454;
         
     | 
| 
       220 
220 
     | 
    
         
             
            }
         
     | 
| 
       221 
221 
     | 
    
         | 
| 
      
 222 
     | 
    
         
            +
             
     | 
| 
      
 223 
     | 
    
         
            +
            .nav.navbar-nav{
         
     | 
| 
      
 224 
     | 
    
         
            +
              display: flex;
         
     | 
| 
      
 225 
     | 
    
         
            +
              width: 100%;
         
     | 
| 
      
 226 
     | 
    
         
            +
            }
         
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
            .navbar-livereload{
         
     | 
| 
      
 229 
     | 
    
         
            +
              margin-left: auto;
         
     | 
| 
      
 230 
     | 
    
         
            +
              white-space: nowrap;
         
     | 
| 
      
 231 
     | 
    
         
            +
            }
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
            .navbar-livereload .poll-wrapper a:last-child{
         
     | 
| 
      
 234 
     | 
    
         
            +
            	margin-left: 8px;
         
     | 
| 
      
 235 
     | 
    
         
            +
            }
         
     | 
| 
      
 236 
     | 
    
         
            +
             
     | 
| 
      
 237 
     | 
    
         
            +
            .navbar-right{
         
     | 
| 
      
 238 
     | 
    
         
            +
              margin-right: 0;
         
     | 
| 
      
 239 
     | 
    
         
            +
            }
         
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
            .navbar-collapse.collapse{
         
     | 
| 
      
 242 
     | 
    
         
            +
              overflow-x: auto !important;
         
     | 
| 
      
 243 
     | 
    
         
            +
            }
         
     | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
       222 
245 
     | 
    
         
             
            @media (max-width: 768px) {
         
     | 
| 
       223 
246 
     | 
    
         
             
              .navbar .navbar-header .navbar-livereload {
         
     | 
| 
       224 
247 
     | 
    
         
             
                border: none;
         
     | 
| 
         @@ -234,13 +257,19 @@ table .table-checkbox label { 
     | 
|
| 
       234 
257 
     | 
    
         
             
                display: none;
         
     | 
| 
       235 
258 
     | 
    
         
             
              }
         
     | 
| 
       236 
259 
     | 
    
         | 
| 
      
 260 
     | 
    
         
            +
              .nav.navbar-nav{
         
     | 
| 
      
 261 
     | 
    
         
            +
              	display: block;
         
     | 
| 
      
 262 
     | 
    
         
            +
              	width: auto;
         
     | 
| 
      
 263 
     | 
    
         
            +
              }
         
     | 
| 
      
 264 
     | 
    
         
            +
             
     | 
| 
       237 
265 
     | 
    
         
             
              .navbar.navbar-fixed-top ul {
         
     | 
| 
       238 
266 
     | 
    
         
             
                margin-right: -15px!important;
         
     | 
| 
       239 
267 
     | 
    
         
             
              }
         
     | 
| 
       240 
268 
     | 
    
         | 
| 
       241 
269 
     | 
    
         
             
              .navbar .nav a {
         
     | 
| 
       242 
270 
     | 
    
         
             
                text-align: center;
         
     | 
| 
       243 
     | 
    
         
            -
              }
         
     | 
| 
      
 271 
     | 
    
         
            +
              }  
         
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
       244 
273 
     | 
    
         
             
            }
         
     | 
| 
       245 
274 
     | 
    
         | 
| 
       246 
275 
     | 
    
         
             
            @media (width: 768px) {
         
     | 
| 
         @@ -645,6 +674,10 @@ div.interval-slider input { 
     | 
|
| 
       645 
674 
     | 
    
         
             
                margin-right: 0;
         
     | 
| 
       646 
675 
     | 
    
         
             
              }
         
     | 
| 
       647 
676 
     | 
    
         | 
| 
      
 677 
     | 
    
         
            +
              .navbar #navbar-menu{
         
     | 
| 
      
 678 
     | 
    
         
            +
              	display: none;
         
     | 
| 
      
 679 
     | 
    
         
            +
              }
         
     | 
| 
      
 680 
     | 
    
         
            +
             
     | 
| 
       648 
681 
     | 
    
         
             
              .poll-wrapper {
         
     | 
| 
       649 
682 
     | 
    
         
             
                width: 100%;
         
     | 
| 
       650 
683 
     | 
    
         
             
                text-align: center;
         
     |