sidekiq 5.0.0.rc1 → 5.0.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.
Potentially problematic release.
This version of sidekiq might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Changes.md +5 -0
- data/Ent-Changes.md +3 -2
- data/Pro-Changes.md +3 -2
- data/lib/sidekiq.rb +1 -1
- data/lib/sidekiq/api.rb +7 -3
- data/lib/sidekiq/client.rb +13 -13
- data/lib/sidekiq/redis_connection.rb +1 -1
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/worker.rb +34 -11
- data/sidekiq.gemspec +1 -1
- data/web/locales/he.yml +11 -11
- data/web/views/queue.erb +5 -5
- metadata +8 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f2a9cd7270e53981aaf7b3f2639596ff042f5ae3
         | 
| 4 | 
            +
              data.tar.gz: 7b6e4fbfee794de34d9b6b15772cbf085e05a65b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dfaecc27ce4071e36b5ab994c27f59d85b4cf7f16ca05a5b786c79125c311f58fbb38b94f7e1c71e4dbf90e6645cb358102e8940a94881981f7bbc2578fd18ff
         | 
| 7 | 
            +
              data.tar.gz: a98e9b87e5f4abe2580ea5fcb6f20ef1d28623eae9be4ca758d5f5b52c65dbef7a6b5df74f673449177f36494b9075573315c7ef6cd6b757ba6a59e825737833
         | 
    
        data/Changes.md
    CHANGED
    
    | @@ -1,5 +1,7 @@ | |
| 1 1 | 
             
            # Sidekiq Changes
         | 
| 2 2 |  | 
| 3 | 
            +
            [Sidekiq Changes](https://github.com/mperham/sidekiq/blob/master/Changes.md) | [Sidekiq Pro Changes](https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md)
         | 
| 4 | 
            +
             | 
| 3 5 | 
             
            5.0.0
         | 
| 4 6 | 
             
            -----------
         | 
| 5 7 |  | 
| @@ -16,6 +18,9 @@ Sidekiq::Middleware::Server::Logging -> Sidekiq::JobLogging | |
| 16 18 | 
             
              must opt into them.
         | 
| 17 19 | 
             
            - The Web UI is now BiDi and can render RTL languages like Arabic, Farsi and Hebrew.
         | 
| 18 20 | 
             
            - Rails 3.2 and Ruby 2.0 and 2.1 are no longer supported.
         | 
| 21 | 
            +
            - The `SomeWorker.set(options)` API was re-written to avoid thread-local state. [#2152]
         | 
| 22 | 
            +
            - Sidekiq Enterprise's encrypted jobs now display "[encrypted data]" in the Web UI instead
         | 
| 23 | 
            +
              of random hex bytes.
         | 
| 19 24 | 
             
            - Please see the [5.0 Upgrade notes](5.0-Upgrade.md) for more detail.
         | 
| 20 25 |  | 
| 21 26 | 
             
            4.2.10
         | 
    
        data/Ent-Changes.md
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            Sidekiq Enterprise Changelog
         | 
| 2 | 
            -
             | 
| 1 | 
            +
            # Sidekiq Enterprise Changelog
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            [Sidekiq Changes](https://github.com/mperham/sidekiq/blob/master/Changes.md) | [Sidekiq Pro Changes](https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md)
         | 
| 3 4 |  | 
| 4 5 | 
             
            Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
         | 
| 5 6 |  | 
    
        data/Pro-Changes.md
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            Sidekiq Pro Changelog
         | 
| 2 | 
            -
             | 
| 1 | 
            +
            # Sidekiq Pro Changelog
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            [Sidekiq Changes](https://github.com/mperham/sidekiq/blob/master/Changes.md) | [Sidekiq Pro Changes](https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md)
         | 
| 3 4 |  | 
| 4 5 | 
             
            Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
         | 
| 5 6 |  | 
    
        data/lib/sidekiq.rb
    CHANGED
    
    
    
        data/lib/sidekiq/api.rb
    CHANGED
    
    | @@ -338,12 +338,16 @@ module Sidekiq | |
| 338 338 | 
             
                            when "ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper"
         | 
| 339 339 | 
             
                              job_args = self['wrapped'] ? args[0]["arguments"] : []
         | 
| 340 340 | 
             
                              if 'ActionMailer::DeliveryJob' == (self['wrapped'] || args[0])
         | 
| 341 | 
            -
             | 
| 342 | 
            -
             | 
| 341 | 
            +
                                # remove MailerClass, mailer_method and 'deliver_now'
         | 
| 342 | 
            +
                                job_args.drop(3)
         | 
| 343 343 | 
             
                              else
         | 
| 344 | 
            -
             | 
| 344 | 
            +
                                job_args
         | 
| 345 345 | 
             
                              end
         | 
| 346 346 | 
             
                            else
         | 
| 347 | 
            +
                              if self['encrypt'.freeze]
         | 
| 348 | 
            +
                                # no point in showing 150+ bytes of random garbage
         | 
| 349 | 
            +
                                args[-1] = '[encrypted data]'.freeze
         | 
| 350 | 
            +
                              end
         | 
| 347 351 | 
             
                              args
         | 
| 348 352 | 
             
                            end
         | 
| 349 353 | 
             
                end
         | 
    
        data/lib/sidekiq/client.rb
    CHANGED
    
    | @@ -63,11 +63,11 @@ module Sidekiq | |
| 63 63 | 
             
                #
         | 
| 64 64 | 
             
                def push(item)
         | 
| 65 65 | 
             
                  normed = normalize_item(item)
         | 
| 66 | 
            -
                  payload = process_single(item['class'], normed)
         | 
| 66 | 
            +
                  payload = process_single(item['class'.freeze], normed)
         | 
| 67 67 |  | 
| 68 68 | 
             
                  if payload
         | 
| 69 69 | 
             
                    raw_push([payload])
         | 
| 70 | 
            -
                    payload['jid']
         | 
| 70 | 
            +
                    payload['jid'.freeze]
         | 
| 71 71 | 
             
                  end
         | 
| 72 72 | 
             
                end
         | 
| 73 73 |  | 
| @@ -84,19 +84,19 @@ module Sidekiq | |
| 84 84 | 
             
                # Returns an array of the of pushed jobs' jids.  The number of jobs pushed can be less
         | 
| 85 85 | 
             
                # than the number given if the middleware stopped processing for one or more jobs.
         | 
| 86 86 | 
             
                def push_bulk(items)
         | 
| 87 | 
            -
                  arg = items['args'].first
         | 
| 87 | 
            +
                  arg = items['args'.freeze].first
         | 
| 88 88 | 
             
                  return [] unless arg # no jobs to push
         | 
| 89 89 | 
             
                  raise ArgumentError, "Bulk arguments must be an Array of Arrays: [[1], [2]]" if !arg.is_a?(Array)
         | 
| 90 90 |  | 
| 91 91 | 
             
                  normed = normalize_item(items)
         | 
| 92 | 
            -
                  payloads = items['args'].map do |args|
         | 
| 93 | 
            -
                    copy = normed.merge('args' => args, 'jid' => SecureRandom.hex(12), 'enqueued_at' => Time.now.to_f)
         | 
| 94 | 
            -
                    result = process_single(items['class'], copy)
         | 
| 92 | 
            +
                  payloads = items['args'.freeze].map do |args|
         | 
| 93 | 
            +
                    copy = normed.merge('args'.freeze => args, 'jid'.freeze => SecureRandom.hex(12), 'enqueued_at'.freeze => Time.now.to_f)
         | 
| 94 | 
            +
                    result = process_single(items['class'.freeze], copy)
         | 
| 95 95 | 
             
                    result ? result : nil
         | 
| 96 96 | 
             
                  end.compact
         | 
| 97 97 |  | 
| 98 98 | 
             
                  raw_push(payloads) if !payloads.empty?
         | 
| 99 | 
            -
                  payloads.collect { |payload| payload['jid'] }
         | 
| 99 | 
            +
                  payloads.collect { |payload| payload['jid'.freeze] }
         | 
| 100 100 | 
             
                end
         | 
| 101 101 |  | 
| 102 102 | 
             
                # Allows sharding of jobs across any number of Redis instances.  All jobs
         | 
| @@ -140,14 +140,14 @@ module Sidekiq | |
| 140 140 | 
             
                  # Messages are enqueued to the 'default' queue.
         | 
| 141 141 | 
             
                  #
         | 
| 142 142 | 
             
                  def enqueue(klass, *args)
         | 
| 143 | 
            -
                    klass.client_push('class' => klass, 'args' => args)
         | 
| 143 | 
            +
                    klass.client_push('class'.freeze => klass, 'args'.freeze => args)
         | 
| 144 144 | 
             
                  end
         | 
| 145 145 |  | 
| 146 146 | 
             
                  # Example usage:
         | 
| 147 147 | 
             
                  #   Sidekiq::Client.enqueue_to(:queue_name, MyWorker, 'foo', 1, :bat => 'bar')
         | 
| 148 148 | 
             
                  #
         | 
| 149 149 | 
             
                  def enqueue_to(queue, klass, *args)
         | 
| 150 | 
            -
                    klass.client_push('queue' => queue, 'class' => klass, 'args' => args)
         | 
| 150 | 
            +
                    klass.client_push('queue'.freeze => queue, 'class'.freeze => klass, 'args'.freeze => args)
         | 
| 151 151 | 
             
                  end
         | 
| 152 152 |  | 
| 153 153 | 
             
                  # Example usage:
         | 
| @@ -158,7 +158,7 @@ module Sidekiq | |
| 158 158 | 
             
                    now = Time.now.to_f
         | 
| 159 159 | 
             
                    ts = (int < 1_000_000_000 ? now + int : int)
         | 
| 160 160 |  | 
| 161 | 
            -
                    item = { 'class' => klass, 'args' => args, 'at' => ts, 'queue' => queue }
         | 
| 161 | 
            +
                    item = { 'class'.freeze => klass, 'args'.freeze => args, 'at'.freeze => ts, 'queue'.freeze => queue }
         | 
| 162 162 | 
             
                    item.delete('at'.freeze) if ts <= now
         | 
| 163 163 |  | 
| 164 164 | 
             
                    klass.client_push(item)
         | 
| @@ -184,13 +184,13 @@ module Sidekiq | |
| 184 184 | 
             
                end
         | 
| 185 185 |  | 
| 186 186 | 
             
                def atomic_push(conn, payloads)
         | 
| 187 | 
            -
                  if payloads.first['at']
         | 
| 187 | 
            +
                  if payloads.first['at'.freeze]
         | 
| 188 188 | 
             
                    conn.zadd('schedule'.freeze, payloads.map do |hash|
         | 
| 189 189 | 
             
                      at = hash.delete('at'.freeze).to_s
         | 
| 190 190 | 
             
                      [at, Sidekiq.dump_json(hash)]
         | 
| 191 191 | 
             
                    end)
         | 
| 192 192 | 
             
                  else
         | 
| 193 | 
            -
                    q = payloads.first['queue']
         | 
| 193 | 
            +
                    q = payloads.first['queue'.freeze]
         | 
| 194 194 | 
             
                    now = Time.now.to_f
         | 
| 195 195 | 
             
                    to_push = payloads.map do |entry|
         | 
| 196 196 | 
             
                      entry['enqueued_at'.freeze] = now
         | 
| @@ -202,7 +202,7 @@ module Sidekiq | |
| 202 202 | 
             
                end
         | 
| 203 203 |  | 
| 204 204 | 
             
                def process_single(worker_class, item)
         | 
| 205 | 
            -
                  queue = item['queue']
         | 
| 205 | 
            +
                  queue = item['queue'.freeze]
         | 
| 206 206 |  | 
| 207 207 | 
             
                  middleware.invoke(worker_class, item, queue, @redis_pool) do
         | 
| 208 208 | 
             
                    item
         | 
    
        data/lib/sidekiq/version.rb
    CHANGED
    
    
    
        data/lib/sidekiq/worker.rb
    CHANGED
    
    | @@ -4,6 +4,7 @@ require 'sidekiq/core_ext' | |
| 4 4 |  | 
| 5 5 | 
             
            module Sidekiq
         | 
| 6 6 |  | 
| 7 | 
            +
             | 
| 7 8 | 
             
              ##
         | 
| 8 9 | 
             
              # Include this module in your worker class and you can easily create
         | 
| 9 10 | 
             
              # asynchronous jobs:
         | 
| @@ -37,6 +38,34 @@ module Sidekiq | |
| 37 38 | 
             
                  Sidekiq.logger
         | 
| 38 39 | 
             
                end
         | 
| 39 40 |  | 
| 41 | 
            +
                # This helper class encapsulates the set options for `set`, e.g.
         | 
| 42 | 
            +
                #
         | 
| 43 | 
            +
                #     SomeWorker.set(queue: 'foo').perform_async(....)
         | 
| 44 | 
            +
                #
         | 
| 45 | 
            +
                class Setter
         | 
| 46 | 
            +
                  def initialize(opts)
         | 
| 47 | 
            +
                    @opts = opts
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  def perform_async(*args)
         | 
| 51 | 
            +
                    @opts['class'.freeze].client_push(@opts.merge!('args'.freeze => args))
         | 
| 52 | 
            +
                  end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                  # +interval+ must be a timestamp, numeric or something that acts
         | 
| 55 | 
            +
                  #   numeric (like an activesupport time interval).
         | 
| 56 | 
            +
                  def perform_in(interval, *args)
         | 
| 57 | 
            +
                    int = interval.to_f
         | 
| 58 | 
            +
                    now = Time.now.to_f
         | 
| 59 | 
            +
                    ts = (int < 1_000_000_000 ? now + int : int)
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                    @opts.merge! 'args'.freeze => args, 'at'.freeze => ts
         | 
| 62 | 
            +
                    # Optimization to enqueue something now that is scheduled to go out now or in the past
         | 
| 63 | 
            +
                    @opts.delete('at'.freeze) if ts <= now
         | 
| 64 | 
            +
                    @opts['class'.freeze].client_push(@opts)
         | 
| 65 | 
            +
                  end
         | 
| 66 | 
            +
                  alias_method :perform_at, :perform_in
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
             | 
| 40 69 | 
             
                module ClassMethods
         | 
| 41 70 |  | 
| 42 71 | 
             
                  def delay(*args)
         | 
| @@ -52,12 +81,11 @@ module Sidekiq | |
| 52 81 | 
             
                  end
         | 
| 53 82 |  | 
| 54 83 | 
             
                  def set(options)
         | 
| 55 | 
            -
                     | 
| 56 | 
            -
                    self
         | 
| 84 | 
            +
                    Setter.new(options.merge!('class'.freeze => self))
         | 
| 57 85 | 
             
                  end
         | 
| 58 86 |  | 
| 59 87 | 
             
                  def perform_async(*args)
         | 
| 60 | 
            -
                    client_push('class' => self, 'args' => args)
         | 
| 88 | 
            +
                    client_push('class'.freeze => self, 'args'.freeze => args)
         | 
| 61 89 | 
             
                  end
         | 
| 62 90 |  | 
| 63 91 | 
             
                  # +interval+ must be a timestamp, numeric or something that acts
         | 
| @@ -67,7 +95,7 @@ module Sidekiq | |
| 67 95 | 
             
                    now = Time.now.to_f
         | 
| 68 96 | 
             
                    ts = (int < 1_000_000_000 ? now + int : int)
         | 
| 69 97 |  | 
| 70 | 
            -
                    item = { 'class' => self, 'args' => args, 'at' => ts }
         | 
| 98 | 
            +
                    item = { 'class'.freeze => self, 'args'.freeze => args, 'at'.freeze => ts }
         | 
| 71 99 |  | 
| 72 100 | 
             
                    # Optimization to enqueue something now that is scheduled to go out now or in the past
         | 
| 73 101 | 
             
                    item.delete('at'.freeze) if ts <= now
         | 
| @@ -106,13 +134,8 @@ module Sidekiq | |
| 106 134 | 
             
                  end
         | 
| 107 135 |  | 
| 108 136 | 
             
                  def client_push(item) # :nodoc:
         | 
| 109 | 
            -
                    pool = Thread.current[:sidekiq_via_pool] || get_sidekiq_options['pool'] || Sidekiq.redis_pool
         | 
| 110 | 
            -
                    hash =  | 
| 111 | 
            -
                      x, Thread.current[:sidekiq_worker_set] = Thread.current[:sidekiq_worker_set], nil
         | 
| 112 | 
            -
                      x.stringify_keys.merge(item.stringify_keys)
         | 
| 113 | 
            -
                    else
         | 
| 114 | 
            -
                      item.stringify_keys
         | 
| 115 | 
            -
                    end
         | 
| 137 | 
            +
                    pool = Thread.current[:sidekiq_via_pool] || get_sidekiq_options['pool'.freeze] || Sidekiq.redis_pool
         | 
| 138 | 
            +
                    hash = item.stringify_keys
         | 
| 116 139 | 
             
                    Sidekiq::Client.new(pool).push(hash)
         | 
| 117 140 | 
             
                  end
         | 
| 118 141 |  | 
    
        data/sidekiq.gemspec
    CHANGED
    
    | @@ -15,7 +15,7 @@ Gem::Specification.new do |gem| | |
| 15 15 | 
             
              gem.name          = "sidekiq"
         | 
| 16 16 | 
             
              gem.require_paths = ["lib"]
         | 
| 17 17 | 
             
              gem.version       = Sidekiq::VERSION
         | 
| 18 | 
            -
              gem.add_dependency                  'redis', '~> 3. | 
| 18 | 
            +
              gem.add_dependency                  'redis', '~> 3.3', '>= 3.3.3'
         | 
| 19 19 | 
             
              gem.add_dependency                  'connection_pool', '~> 2.2', '>= 2.2.0'
         | 
| 20 20 | 
             
              gem.add_dependency                  'concurrent-ruby', '~> 1.0'
         | 
| 21 21 | 
             
              gem.add_dependency                  'rack-protection', '>= 1.5.0'
         | 
    
        data/web/locales/he.yml
    CHANGED
    
    | @@ -7,7 +7,7 @@ he: | |
| 7 7 | 
             
              Realtime: זמן אמת
         | 
| 8 8 | 
             
              History: היסטוריה
         | 
| 9 9 | 
             
              Busy: עסוקים
         | 
| 10 | 
            -
              Processed:  | 
| 10 | 
            +
              Processed: עובדו
         | 
| 11 11 | 
             
              Failed: נכשלו
         | 
| 12 12 | 
             
              Scheduled: מתוכננים
         | 
| 13 13 | 
             
              Retries: נסיונות חוזרים
         | 
| @@ -34,24 +34,24 @@ he: | |
| 34 34 | 
             
              RetryCount: מספר נסיונות חוזרים
         | 
| 35 35 | 
             
              RetryNow: נסה שוב עכשיו
         | 
| 36 36 | 
             
              Kill: הרוג
         | 
| 37 | 
            -
              LastRetry: ניסיון חוזר  | 
| 37 | 
            +
              LastRetry: ניסיון חוזר אחרון
         | 
| 38 38 | 
             
              OriginallyFailed: נכשל בניסיון הראשון
         | 
| 39 39 | 
             
              AreYouSure: אתם בטוחים?
         | 
| 40 40 | 
             
              DeleteAll: מחק הכל
         | 
| 41 41 | 
             
              RetryAll: נסה שוב את הכל
         | 
| 42 42 | 
             
              NoRetriesFound: לא נמצאו נסיונות חוזרים
         | 
| 43 43 | 
             
              Error: שגיאה
         | 
| 44 | 
            -
              ErrorClass:  | 
| 45 | 
            -
              ErrorMessage:  | 
| 44 | 
            +
              ErrorClass: סוג השגיאה
         | 
| 45 | 
            +
              ErrorMessage: הודעת השגיאה
         | 
| 46 46 | 
             
              ErrorBacktrace: מעקב לאחור של השגיאה
         | 
| 47 47 | 
             
              GoBack: ← אחורה
         | 
| 48 48 | 
             
              NoScheduledFound: לא נמצאו עבודות מתוכננות
         | 
| 49 49 | 
             
              When: מתי
         | 
| 50 50 | 
             
              ScheduledJobs: עבודות מתוכננות
         | 
| 51 | 
            -
              idle:  | 
| 51 | 
            +
              idle: במנוחה
         | 
| 52 52 | 
             
              active: פעיל
         | 
| 53 53 | 
             
              Version: גירסה
         | 
| 54 | 
            -
              Connections:  | 
| 54 | 
            +
              Connections: חיבורים
         | 
| 55 55 | 
             
              MemoryUsage: שימוש בזיכרון
         | 
| 56 56 | 
             
              PeakMemoryUsage: שיא השימוש בזיכרון
         | 
| 57 57 | 
             
              Uptime: זמן פעילות (ימים)
         | 
| @@ -64,15 +64,15 @@ he: | |
| 64 64 | 
             
              NoDeadJobsFound: לא נמצאו עבודות מתות
         | 
| 65 65 | 
             
              Dead: מתים
         | 
| 66 66 | 
             
              Processes: תהליכים
         | 
| 67 | 
            -
              Thread:  | 
| 68 | 
            -
              Threads:  | 
| 67 | 
            +
              Thread: חוט
         | 
| 68 | 
            +
              Threads: חוטים
         | 
| 69 69 | 
             
              Jobs: עבודות
         | 
| 70 | 
            -
              Paused:  | 
| 70 | 
            +
              Paused: הופסקו
         | 
| 71 71 | 
             
              Stop: עצור
         | 
| 72 72 | 
             
              Quiet: שקט
         | 
| 73 | 
            -
              StopAll: עצור  | 
| 73 | 
            +
              StopAll: עצור הכל
         | 
| 74 74 | 
             
              QuietAll: השקט את כולם
         | 
| 75 | 
            -
              PollingInterval:  | 
| 75 | 
            +
              PollingInterval: מרווח זמן בין תשאולים
         | 
| 76 76 | 
             
              Plugins: תוספים
         | 
| 77 77 | 
             
              NotYetEnqueued: עוד לא בתור
         | 
| 78 78 | 
             
              CreatedAt: נוצר ב
         | 
    
        data/web/views/queue.erb
    CHANGED
    
    | @@ -22,13 +22,13 @@ | |
| 22 22 | 
             
                  <tr>
         | 
| 23 23 | 
             
                    <td><%= h(msg.display_class) %></td>
         | 
| 24 24 | 
             
                    <td>
         | 
| 25 | 
            -
                      <% a = msg.display_args | 
| 26 | 
            -
                      <% if a.size > 100 %>
         | 
| 27 | 
            -
                        <span class="worker_<%= index %>"><%= h( | 
| 25 | 
            +
                      <% a = msg.display_args %>
         | 
| 26 | 
            +
                      <% if a.inspect.size > 100 %>
         | 
| 27 | 
            +
                        <span class="worker_<%= index %>"><%= h(a.inspect[0..100]) + "... " %></span>
         | 
| 28 28 | 
             
                        <button data-toggle="collapse" data-target=".worker_<%= index %>" class="btn btn-default btn-xs"><%= t('ShowAll') %></button>
         | 
| 29 | 
            -
                        <div class="toggle worker_<%= index %>"><%=  | 
| 29 | 
            +
                        <div class="toggle worker_<%= index %>"><%= display_args(a) %></div>
         | 
| 30 30 | 
             
                      <% else %>
         | 
| 31 | 
            -
                        <%=  | 
| 31 | 
            +
                        <%= display_args(msg.display_args) %>
         | 
| 32 32 | 
             
                      <% end %>
         | 
| 33 33 | 
             
                    </td>
         | 
| 34 34 | 
             
                    <td>
         | 
    
        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: 5.0.0 | 
| 4 | 
            +
              version: 5.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mike Perham
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-04- | 
| 11 | 
            +
            date: 2017-04-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: redis
         | 
| @@ -16,20 +16,20 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '3. | 
| 19 | 
            +
                    version: '3.3'
         | 
| 20 20 | 
             
                - - ">="
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version: 3. | 
| 22 | 
            +
                    version: 3.3.3
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 25 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 26 | 
             
                requirements:
         | 
| 27 27 | 
             
                - - "~>"
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: '3. | 
| 29 | 
            +
                    version: '3.3'
         | 
| 30 30 | 
             
                - - ">="
         | 
| 31 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            -
                    version: 3. | 
| 32 | 
            +
                    version: 3.3.3
         | 
| 33 33 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 34 34 | 
             
              name: connection_pool
         | 
| 35 35 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -354,9 +354,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 354 354 | 
             
                  version: '0'
         | 
| 355 355 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 356 356 | 
             
              requirements:
         | 
| 357 | 
            -
              - - " | 
| 357 | 
            +
              - - ">="
         | 
| 358 358 | 
             
                - !ruby/object:Gem::Version
         | 
| 359 | 
            -
                  version:  | 
| 359 | 
            +
                  version: '0'
         | 
| 360 360 | 
             
            requirements: []
         | 
| 361 361 | 
             
            rubyforge_project: 
         | 
| 362 362 | 
             
            rubygems_version: 2.5.2
         |