sidekiq 2.17.1 → 2.17.2
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 +4 -4
 - data/.travis.yml +1 -0
 - data/Changes.md +7 -0
 - data/Pro-Changes.md +6 -0
 - data/lib/sidekiq/api.rb +5 -3
 - data/lib/sidekiq/cli.rb +12 -10
 - data/lib/sidekiq/launcher.rb +3 -0
 - data/lib/sidekiq/manager.rb +2 -3
 - data/lib/sidekiq/middleware/i18n.rb +1 -1
 - data/lib/sidekiq/version.rb +1 -1
 - data/test/test_api.rb +31 -2
 - data/test/test_cli.rb +22 -18
 - data/test/test_middleware.rb +15 -1
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a9ab8dfc9a5a77f21aaf9fa21ba6be7e7660246c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 5898594eec812b1b4702ef9807c0e94216172f91
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2fdca306a973f6a4e42c6f436d18c720dc7228c34cdcb1dc0b62c37b0be4d70940031e1b1f760b40f04bc203a2a571d289d6c1952a06efe932df13e691535292
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cbc8fa44394a552fbc1ecb97d8bfb1ad82a841821a8cc2c83b17db517d23f038d5d55567059e495e43d632179fdb64d2064967f70f6f79528dc4b31ac0d11f12
         
     | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Changes.md
    CHANGED
    
    
    
        data/Pro-Changes.md
    CHANGED
    
    
    
        data/lib/sidekiq/api.rb
    CHANGED
    
    | 
         @@ -10,10 +10,12 @@ module Sidekiq 
     | 
|
| 
       10 
10 
     | 
    
         
             
                  Sidekiq.redis { |conn| conn.get("stat:failed") }.to_i
         
     | 
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                def reset
         
     | 
| 
      
 13 
     | 
    
         
            +
                def reset(*stats)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  all   = %w(failed processed)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  stats = stats.empty? ? all : all & stats.flatten.compact.map(&:to_s)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       14 
17 
     | 
    
         
             
                  Sidekiq.redis do |conn|
         
     | 
| 
       15 
     | 
    
         
            -
                    conn.set("stat 
     | 
| 
       16 
     | 
    
         
            -
                    conn.set("stat:processed", 0)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    stats.each { |stat| conn.set("stat:#{stat}", 0) }
         
     | 
| 
       17 
19 
     | 
    
         
             
                  end
         
     | 
| 
       18 
20 
     | 
    
         
             
                end
         
     | 
| 
       19 
21 
     | 
    
         | 
    
        data/lib/sidekiq/cli.rb
    CHANGED
    
    | 
         @@ -174,13 +174,15 @@ module Sidekiq 
     | 
|
| 
       174 
174 
     | 
    
         
             
                end
         
     | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
176 
     | 
    
         
             
                def setup_options(args)
         
     | 
| 
       177 
     | 
    
         
            -
                   
     | 
| 
       178 
     | 
    
         
            -
                  set_environment  
     | 
| 
      
 177 
     | 
    
         
            +
                  opts = parse_options(args)
         
     | 
| 
      
 178 
     | 
    
         
            +
                  set_environment opts[:environment]
         
     | 
| 
       179 
179 
     | 
    
         | 
| 
       180 
     | 
    
         
            -
                  cfile =  
     | 
| 
      
 180 
     | 
    
         
            +
                  cfile = opts[:config_file]
         
     | 
| 
      
 181 
     | 
    
         
            +
                  opts = parse_config(cfile).merge(opts) if cfile
         
     | 
| 
      
 182 
     | 
    
         
            +
                  
         
     | 
| 
      
 183 
     | 
    
         
            +
                  opts[:strict] = true if opts[:strict].nil?
         
     | 
| 
       181 
184 
     | 
    
         | 
| 
       182 
     | 
    
         
            -
                   
     | 
| 
       183 
     | 
    
         
            -
                  options.merge!(config.merge(cli))
         
     | 
| 
      
 185 
     | 
    
         
            +
                  options.merge!(opts)
         
     | 
| 
       184 
186 
     | 
    
         
             
                end
         
     | 
| 
       185 
187 
     | 
    
         | 
| 
       186 
188 
     | 
    
         
             
                def options
         
     | 
| 
         @@ -256,9 +258,9 @@ module Sidekiq 
     | 
|
| 
       256 
258 
     | 
    
         
             
                      opts[:profile] = arg
         
     | 
| 
       257 
259 
     | 
    
         
             
                    end
         
     | 
| 
       258 
260 
     | 
    
         | 
| 
       259 
     | 
    
         
            -
                    o.on "-q", "--queue QUEUE[,WEIGHT] 
     | 
| 
       260 
     | 
    
         
            -
                       
     | 
| 
       261 
     | 
    
         
            -
                       
     | 
| 
      
 261 
     | 
    
         
            +
                    o.on "-q", "--queue QUEUE[,WEIGHT]", "Queues to process with optional weights" do |arg|
         
     | 
| 
      
 262 
     | 
    
         
            +
                      queue, weight = arg.split(",")
         
     | 
| 
      
 263 
     | 
    
         
            +
                      parse_queue opts, queue, weight
         
     | 
| 
       262 
264 
     | 
    
         
             
                    end
         
     | 
| 
       263 
265 
     | 
    
         | 
| 
       264 
266 
     | 
    
         
             
                    o.on '-r', '--require [PATH|DIR]', "Location of Rails application with workers or file to require" do |arg|
         
     | 
| 
         @@ -334,14 +336,14 @@ module Sidekiq 
     | 
|
| 
       334 
336 
     | 
    
         
             
                end
         
     | 
| 
       335 
337 
     | 
    
         | 
| 
       336 
338 
     | 
    
         
             
                def parse_queues(opts, queues_and_weights)
         
     | 
| 
       337 
     | 
    
         
            -
                  queues_and_weights.each {|queue_and_weight| parse_queue(opts, *queue_and_weight)}
         
     | 
| 
       338 
     | 
    
         
            -
                  opts[:strict] = queues_and_weights.all? {|_, weight| weight.to_s.empty? }
         
     | 
| 
      
 339 
     | 
    
         
            +
                  queues_and_weights.each { |queue_and_weight| parse_queue(opts, *queue_and_weight) }
         
     | 
| 
       339 
340 
     | 
    
         
             
                end
         
     | 
| 
       340 
341 
     | 
    
         | 
| 
       341 
342 
     | 
    
         
             
                def parse_queue(opts, q, weight=nil)
         
     | 
| 
       342 
343 
     | 
    
         
             
                  [weight.to_i, 1].max.times do
         
     | 
| 
       343 
344 
     | 
    
         
             
                   (opts[:queues] ||= []) << q
         
     | 
| 
       344 
345 
     | 
    
         
             
                  end
         
     | 
| 
      
 346 
     | 
    
         
            +
                  opts[:strict] = false if weight.to_i > 0
         
     | 
| 
       345 
347 
     | 
    
         
             
                end
         
     | 
| 
       346 
348 
     | 
    
         
             
              end
         
     | 
| 
       347 
349 
     | 
    
         
             
            end
         
     | 
    
        data/lib/sidekiq/launcher.rb
    CHANGED
    
    | 
         @@ -48,6 +48,9 @@ module Sidekiq 
     | 
|
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
                    manager.async.stop(:shutdown => true, :timeout => @options[:timeout])
         
     | 
| 
       50 
50 
     | 
    
         
             
                    manager.wait(:shutdown)
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                    # Requeue everything in case there was a worker who grabbed work while stopped
         
     | 
| 
      
 53 
     | 
    
         
            +
                    Sidekiq::Fetcher.strategy.bulk_requeue([], @options)
         
     | 
| 
       51 
54 
     | 
    
         
             
                  end
         
     | 
| 
       52 
55 
     | 
    
         
             
                end
         
     | 
| 
       53 
56 
     | 
    
         | 
    
        data/lib/sidekiq/manager.rb
    CHANGED
    
    | 
         @@ -162,12 +162,11 @@ module Sidekiq 
     | 
|
| 
       162 
162 
     | 
    
         
             
                    watchdog("Manager#hard_shutdown_in died") do
         
     | 
| 
       163 
163 
     | 
    
         
             
                      # We've reached the timeout and we still have busy workers.
         
     | 
| 
       164 
164 
     | 
    
         
             
                      # They must die but their messages shall live on.
         
     | 
| 
       165 
     | 
    
         
            -
                      logger. 
     | 
| 
      
 165 
     | 
    
         
            +
                      logger.warn { "Terminating #{@busy.size} busy worker threads" }
         
     | 
| 
      
 166 
     | 
    
         
            +
                      logger.warn { "Work still in progress #{@in_progress.values.inspect}" }
         
     | 
| 
       166 
167 
     | 
    
         | 
| 
       167 
168 
     | 
    
         
             
                      requeue
         
     | 
| 
       168 
169 
     | 
    
         | 
| 
       169 
     | 
    
         
            -
                      logger.warn { "Terminating #{@busy.size} busy worker threads" }
         
     | 
| 
       170 
     | 
    
         
            -
                      logger.warn { "Work still in progress #{@in_progress.values.inspect}" }
         
     | 
| 
       171 
170 
     | 
    
         
             
                      @busy.each do |processor|
         
     | 
| 
       172 
171 
     | 
    
         
             
                        if processor.alive? && t = @threads.delete(processor.object_id)
         
     | 
| 
       173 
172 
     | 
    
         
             
                          t.raise Shutdown
         
     | 
    
        data/lib/sidekiq/version.rb
    CHANGED
    
    
    
        data/test/test_api.rb
    CHANGED
    
    | 
         @@ -33,15 +33,44 @@ class TestApi < Sidekiq::Test 
     | 
|
| 
       33 
33 
     | 
    
         
             
                end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                describe "reset" do
         
     | 
| 
       36 
     | 
    
         
            -
                   
     | 
| 
      
 36 
     | 
    
         
            +
                  before do
         
     | 
| 
       37 
37 
     | 
    
         
             
                    Sidekiq.redis do |conn|
         
     | 
| 
       38 
38 
     | 
    
         
             
                      conn.set('stat:processed', 5)
         
     | 
| 
       39 
39 
     | 
    
         
             
                      conn.set('stat:failed', 10)
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 40 
     | 
    
         
            +
                    end
         
     | 
| 
      
 41 
     | 
    
         
            +
                  end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                  it 'will reset all stats by default' do
         
     | 
| 
      
 44 
     | 
    
         
            +
                    Sidekiq::Stats.new.reset
         
     | 
| 
      
 45 
     | 
    
         
            +
                    Sidekiq.redis do |conn|
         
     | 
| 
       41 
46 
     | 
    
         
             
                      assert_equal '0', conn.get('stat:processed')
         
     | 
| 
       42 
47 
     | 
    
         
             
                      assert_equal '0', conn.get('stat:failed')
         
     | 
| 
       43 
48 
     | 
    
         
             
                    end
         
     | 
| 
       44 
49 
     | 
    
         
             
                  end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  it 'can reset individual stats' do
         
     | 
| 
      
 52 
     | 
    
         
            +
                    Sidekiq::Stats.new.reset('failed')
         
     | 
| 
      
 53 
     | 
    
         
            +
                    Sidekiq.redis do |conn|
         
     | 
| 
      
 54 
     | 
    
         
            +
                      assert_equal '5', conn.get('stat:processed')
         
     | 
| 
      
 55 
     | 
    
         
            +
                      assert_equal '0', conn.get('stat:failed')
         
     | 
| 
      
 56 
     | 
    
         
            +
                    end
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                  it 'can accept anything that responds to #to_s' do
         
     | 
| 
      
 60 
     | 
    
         
            +
                    Sidekiq::Stats.new.reset(:failed)
         
     | 
| 
      
 61 
     | 
    
         
            +
                    Sidekiq.redis do |conn|
         
     | 
| 
      
 62 
     | 
    
         
            +
                      assert_equal '5', conn.get('stat:processed')
         
     | 
| 
      
 63 
     | 
    
         
            +
                      assert_equal '0', conn.get('stat:failed')
         
     | 
| 
      
 64 
     | 
    
         
            +
                    end
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                  it 'ignores anything other than "failed" or "processed"' do
         
     | 
| 
      
 68 
     | 
    
         
            +
                    Sidekiq::Stats.new.reset((1..10).to_a, ['failed'])
         
     | 
| 
      
 69 
     | 
    
         
            +
                    Sidekiq.redis do |conn|
         
     | 
| 
      
 70 
     | 
    
         
            +
                      assert_equal '5', conn.get('stat:processed')
         
     | 
| 
      
 71 
     | 
    
         
            +
                      assert_equal '0', conn.get('stat:failed')
         
     | 
| 
      
 72 
     | 
    
         
            +
                    end
         
     | 
| 
      
 73 
     | 
    
         
            +
                  end
         
     | 
| 
       45 
74 
     | 
    
         
             
                end
         
     | 
| 
       46 
75 
     | 
    
         | 
| 
       47 
76 
     | 
    
         
             
                describe "queues" do
         
     | 
    
        data/test/test_cli.rb
    CHANGED
    
    | 
         @@ -51,7 +51,7 @@ class TestCli < Sidekiq::Test 
     | 
|
| 
       51 
51 
     | 
    
         
             
                end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                it 'sets strictly ordered queues if weights are not present' do
         
     | 
| 
       54 
     | 
    
         
            -
                  @cli.parse(['sidekiq', '-q', 'foo,bar', '-r', './test/fake_env.rb'])
         
     | 
| 
      
 54 
     | 
    
         
            +
                  @cli.parse(['sidekiq', '-q', 'foo', '-q', 'bar', '-r', './test/fake_env.rb'])
         
     | 
| 
       55 
55 
     | 
    
         
             
                  assert_equal true, !!Sidekiq.options[:strict]
         
     | 
| 
       56 
56 
     | 
    
         
             
                end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
         @@ -60,23 +60,23 @@ class TestCli < Sidekiq::Test 
     | 
|
| 
       60 
60 
     | 
    
         
             
                  assert_equal false, !!Sidekiq.options[:strict]
         
     | 
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
                it 'does not set strictly ordered queues if weights are present with multiple queues' do
         
     | 
| 
      
 64 
     | 
    
         
            +
                  @cli.parse(['sidekiq', '-q', 'foo,3', '-q', 'bar', '-r', './test/fake_env.rb'])
         
     | 
| 
      
 65 
     | 
    
         
            +
                  assert_equal false, !!Sidekiq.options[:strict]
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
       63 
68 
     | 
    
         
             
                it 'changes timeout' do
         
     | 
| 
       64 
69 
     | 
    
         
             
                  @cli.parse(['sidekiq', '-t', '30', '-r', './test/fake_env.rb'])
         
     | 
| 
       65 
70 
     | 
    
         
             
                  assert_equal 30, Sidekiq.options[:timeout]
         
     | 
| 
       66 
71 
     | 
    
         
             
                end
         
     | 
| 
       67 
72 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
                it 'handles multiple queues with weights 
     | 
| 
      
 73 
     | 
    
         
            +
                it 'handles multiple queues with weights' do
         
     | 
| 
       69 
74 
     | 
    
         
             
                  @cli.parse(['sidekiq', '-q', 'foo,3', '-q', 'bar', '-r', './test/fake_env.rb'])
         
     | 
| 
       70 
75 
     | 
    
         
             
                  assert_equal %w(foo foo foo bar), Sidekiq.options[:queues]
         
     | 
| 
       71 
76 
     | 
    
         
             
                end
         
     | 
| 
       72 
77 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
                it 'handles multiple queues with weights with a single switch' do
         
     | 
| 
       74 
     | 
    
         
            -
                  @cli.parse(['sidekiq', '-q', 'bar,foo,3', '-r', './test/fake_env.rb'])
         
     | 
| 
       75 
     | 
    
         
            -
                  assert_equal %w(bar foo foo foo), Sidekiq.options[:queues]
         
     | 
| 
       76 
     | 
    
         
            -
                end
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
78 
     | 
    
         
             
                it 'handles queues with multi-word names' do
         
     | 
| 
       79 
     | 
    
         
            -
                  @cli.parse(['sidekiq', '-q', 'queue_one,queue-two', '-r', './test/fake_env.rb'])
         
     | 
| 
      
 79 
     | 
    
         
            +
                  @cli.parse(['sidekiq', '-q', 'queue_one', '-q', 'queue-two', '-r', './test/fake_env.rb'])
         
     | 
| 
       80 
80 
     | 
    
         
             
                  assert_equal %w(queue_one queue-two), Sidekiq.options[:queues]
         
     | 
| 
       81 
81 
     | 
    
         
             
                end
         
     | 
| 
       82 
82 
     | 
    
         | 
| 
         @@ -287,18 +287,20 @@ class TestCli < Sidekiq::Test 
     | 
|
| 
       287 
287 
     | 
    
         
             
                describe 'Sidekiq::CLI#parse_queues' do
         
     | 
| 
       288 
288 
     | 
    
         
             
                  describe 'when weight is present' do
         
     | 
| 
       289 
289 
     | 
    
         
             
                    it 'concatenates queues by factor of weight and sets strict to false' do
         
     | 
| 
       290 
     | 
    
         
            -
                      opts = {}
         
     | 
| 
       291 
     | 
    
         
            -
                      @cli.send :parse_queues, opts, [['often', 7]]
         
     | 
| 
       292 
     | 
    
         
            -
                       
     | 
| 
      
 290 
     | 
    
         
            +
                      opts = { strict: true }
         
     | 
| 
      
 291 
     | 
    
         
            +
                      @cli.send :parse_queues, opts, [['often', 7], ['repeatedly', 3]]
         
     | 
| 
      
 292 
     | 
    
         
            +
                      @cli.send :parse_queues, opts, [['once']]
         
     | 
| 
      
 293 
     | 
    
         
            +
                      assert_equal (%w[often] * 7 + %w[repeatedly] * 3 + %w[once]), opts[:queues]
         
     | 
| 
       293 
294 
     | 
    
         
             
                      assert !opts[:strict]
         
     | 
| 
       294 
295 
     | 
    
         
             
                    end
         
     | 
| 
       295 
296 
     | 
    
         
             
                  end
         
     | 
| 
       296 
297 
     | 
    
         | 
| 
       297 
298 
     | 
    
         
             
                  describe 'when weight is not present' do
         
     | 
| 
       298 
299 
     | 
    
         
             
                    it 'returns queues and sets strict' do
         
     | 
| 
       299 
     | 
    
         
            -
                      opts = {}
         
     | 
| 
       300 
     | 
    
         
            -
                      @cli.send :parse_queues, opts, [['once']]
         
     | 
| 
       301 
     | 
    
         
            -
                       
     | 
| 
      
 300 
     | 
    
         
            +
                      opts = { strict: true }
         
     | 
| 
      
 301 
     | 
    
         
            +
                      @cli.send :parse_queues, opts, [['once'], ['one_time']]
         
     | 
| 
      
 302 
     | 
    
         
            +
                      @cli.send :parse_queues, opts, [['einmal']]
         
     | 
| 
      
 303 
     | 
    
         
            +
                      assert_equal %w[once one_time einmal], opts[:queues]
         
     | 
| 
       302 
304 
     | 
    
         
             
                      assert opts[:strict]
         
     | 
| 
       303 
305 
     | 
    
         
             
                    end
         
     | 
| 
       304 
306 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -306,18 +308,20 @@ class TestCli < Sidekiq::Test 
     | 
|
| 
       306 
308 
     | 
    
         | 
| 
       307 
309 
     | 
    
         
             
                describe 'Sidekiq::CLI#parse_queue' do
         
     | 
| 
       308 
310 
     | 
    
         
             
                  describe 'when weight is present' do
         
     | 
| 
       309 
     | 
    
         
            -
                    it 'concatenates queue to opts[:queues] weight number of times' do
         
     | 
| 
       310 
     | 
    
         
            -
                      opts = {}
         
     | 
| 
      
 311 
     | 
    
         
            +
                    it 'concatenates queue to opts[:queues] weight number of times and sets strict to false' do
         
     | 
| 
      
 312 
     | 
    
         
            +
                      opts = { strict: true }
         
     | 
| 
       311 
313 
     | 
    
         
             
                      @cli.send :parse_queue, opts, 'often', 7
         
     | 
| 
       312 
314 
     | 
    
         
             
                      assert_equal %w[often] * 7, opts[:queues]
         
     | 
| 
      
 315 
     | 
    
         
            +
                      assert !opts[:strict]
         
     | 
| 
       313 
316 
     | 
    
         
             
                    end
         
     | 
| 
       314 
317 
     | 
    
         
             
                  end
         
     | 
| 
       315 
318 
     | 
    
         | 
| 
       316 
319 
     | 
    
         
             
                  describe 'when weight is not present' do
         
     | 
| 
       317 
     | 
    
         
            -
                    it 'concatenates queue to opts[:queues] once' do
         
     | 
| 
       318 
     | 
    
         
            -
                      opts = {}
         
     | 
| 
      
 320 
     | 
    
         
            +
                    it 'concatenates queue to opts[:queues] once and leaves strict true' do
         
     | 
| 
      
 321 
     | 
    
         
            +
                      opts = { strict: true }
         
     | 
| 
       319 
322 
     | 
    
         
             
                      @cli.send :parse_queue, opts, 'once', nil
         
     | 
| 
       320 
323 
     | 
    
         
             
                      assert_equal %w[once], opts[:queues]
         
     | 
| 
      
 324 
     | 
    
         
            +
                      assert opts[:strict]
         
     | 
| 
       321 
325 
     | 
    
         
             
                    end
         
     | 
| 
       322 
326 
     | 
    
         
             
                  end
         
     | 
| 
       323 
327 
     | 
    
         
             
                end
         
     | 
    
        data/test/test_middleware.rb
    CHANGED
    
    | 
         @@ -123,7 +123,7 @@ class TestMiddleware < Sidekiq::Test 
     | 
|
| 
       123 
123 
     | 
    
         
             
                  assert_equal :fr, msg['locale']
         
     | 
| 
       124 
124 
     | 
    
         | 
| 
       125 
125 
     | 
    
         
             
                  msg['locale'] = 'jp'
         
     | 
| 
       126 
     | 
    
         
            -
                  I18n.locale =  
     | 
| 
      
 126 
     | 
    
         
            +
                  I18n.locale = I18n.default_locale
         
     | 
| 
       127 
127 
     | 
    
         
             
                  assert_equal :en, I18n.locale
         
     | 
| 
       128 
128 
     | 
    
         
             
                  mw = Sidekiq::Middleware::I18n::Server.new
         
     | 
| 
       129 
129 
     | 
    
         
             
                  mw.call(nil, msg, nil) do
         
     | 
| 
         @@ -131,5 +131,19 @@ class TestMiddleware < Sidekiq::Test 
     | 
|
| 
       131 
131 
     | 
    
         
             
                  end
         
     | 
| 
       132 
132 
     | 
    
         
             
                  assert_equal :en, I18n.locale
         
     | 
| 
       133 
133 
     | 
    
         
             
                end
         
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
                it 'supports I18n.enforce_available_locales = true' do
         
     | 
| 
      
 136 
     | 
    
         
            +
                  I18n.enforce_available_locales = true
         
     | 
| 
      
 137 
     | 
    
         
            +
                  I18n.available_locales = [:en, :jp]
         
     | 
| 
      
 138 
     | 
    
         
            +
             
     | 
| 
      
 139 
     | 
    
         
            +
                  msg = { 'locale' => 'jp' }
         
     | 
| 
      
 140 
     | 
    
         
            +
                  mw = Sidekiq::Middleware::I18n::Server.new
         
     | 
| 
      
 141 
     | 
    
         
            +
                  mw.call(nil, msg, nil) do
         
     | 
| 
      
 142 
     | 
    
         
            +
                    assert_equal :jp, I18n.locale
         
     | 
| 
      
 143 
     | 
    
         
            +
                  end
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
                  I18n.enforce_available_locales = nil
         
     | 
| 
      
 146 
     | 
    
         
            +
                  I18n.available_locales = nil
         
     | 
| 
      
 147 
     | 
    
         
            +
                end
         
     | 
| 
       134 
148 
     | 
    
         
             
              end
         
     | 
| 
       135 
149 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: sidekiq
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.17. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.17.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Mike Perham
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-01-03 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: redis
         
     | 
| 
         @@ -352,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       352 
352 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       353 
353 
     | 
    
         
             
            requirements: []
         
     | 
| 
       354 
354 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       355 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 355 
     | 
    
         
            +
            rubygems_version: 2.0.14
         
     | 
| 
       356 
356 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       357 
357 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       358 
358 
     | 
    
         
             
            summary: Simple, efficient background processing for Ruby
         
     |