sidekiq 5.2.10 → 6.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.standard.yml +20 -0
  3. data/.travis.yml +5 -2
  4. data/6.0-Upgrade.md +58 -0
  5. data/Changes.md +21 -16
  6. data/Gemfile +15 -10
  7. data/Rakefile +5 -4
  8. data/bin/sidekiqctl +1 -10
  9. data/lib/generators/sidekiq/worker_generator.rb +12 -14
  10. data/lib/sidekiq/api.rb +133 -148
  11. data/lib/sidekiq/cli.rb +95 -147
  12. data/lib/sidekiq/client.rb +44 -45
  13. data/lib/sidekiq/ctl.rb +35 -109
  14. data/lib/sidekiq/delay.rb +5 -6
  15. data/lib/sidekiq/exception_handler.rb +10 -12
  16. data/lib/sidekiq/extensions/action_mailer.rb +10 -20
  17. data/lib/sidekiq/extensions/active_record.rb +9 -7
  18. data/lib/sidekiq/extensions/class_methods.rb +9 -7
  19. data/lib/sidekiq/extensions/generic_proxy.rb +4 -4
  20. data/lib/sidekiq/fetch.rb +5 -6
  21. data/lib/sidekiq/job_logger.rb +37 -7
  22. data/lib/sidekiq/job_retry.rb +45 -58
  23. data/lib/sidekiq/launcher.rb +59 -48
  24. data/lib/sidekiq/logger.rb +69 -0
  25. data/lib/sidekiq/manager.rb +6 -8
  26. data/lib/sidekiq/middleware/chain.rb +2 -1
  27. data/lib/sidekiq/middleware/i18n.rb +5 -7
  28. data/lib/sidekiq/paginator.rb +11 -12
  29. data/lib/sidekiq/processor.rb +42 -45
  30. data/lib/sidekiq/rails.rb +2 -26
  31. data/lib/sidekiq/redis_connection.rb +31 -37
  32. data/lib/sidekiq/scheduled.rb +17 -19
  33. data/lib/sidekiq/testing/inline.rb +2 -1
  34. data/lib/sidekiq/testing.rb +22 -23
  35. data/lib/sidekiq/util.rb +18 -15
  36. data/lib/sidekiq/version.rb +2 -1
  37. data/lib/sidekiq/web/action.rb +15 -11
  38. data/lib/sidekiq/web/application.rb +59 -59
  39. data/lib/sidekiq/web/helpers.rb +66 -67
  40. data/lib/sidekiq/web/router.rb +17 -14
  41. data/lib/sidekiq/web.rb +36 -44
  42. data/lib/sidekiq/worker.rb +12 -13
  43. data/lib/sidekiq.rb +53 -42
  44. data/sidekiq.gemspec +7 -7
  45. metadata +20 -32
  46. data/lib/sidekiq/core_ext.rb +0 -1
  47. data/lib/sidekiq/logging.rb +0 -122
  48. data/lib/sidekiq/middleware/server/active_record.rb +0 -23
@@ -1,18 +1,19 @@
1
1
  # frozen_string_literal: true
2
- require 'rack'
2
+
3
+ require "rack"
3
4
 
4
5
  module Sidekiq
5
6
  module WebRouter
6
- GET = 'GET'
7
- DELETE = 'DELETE'
8
- POST = 'POST'
9
- PUT = 'PUT'
10
- PATCH = 'PATCH'
11
- HEAD = 'HEAD'
7
+ GET = "GET"
8
+ DELETE = "DELETE"
9
+ POST = "POST"
10
+ PUT = "PUT"
11
+ PATCH = "PATCH"
12
+ HEAD = "HEAD"
12
13
 
13
- ROUTE_PARAMS = 'rack.route_params'
14
- REQUEST_METHOD = 'REQUEST_METHOD'
15
- PATH_INFO = 'PATH_INFO'
14
+ ROUTE_PARAMS = "rack.route_params"
15
+ REQUEST_METHOD = "REQUEST_METHOD"
16
+ PATH_INFO = "PATH_INFO"
16
17
 
17
18
  def get(path, &block)
18
19
  route(GET, path, &block)
@@ -35,7 +36,7 @@ module Sidekiq
35
36
  end
36
37
 
37
38
  def route(method, path, &block)
38
- @routes ||= { GET => [], POST => [], PUT => [], PATCH => [], DELETE => [], HEAD => [] }
39
+ @routes ||= {GET => [], POST => [], PUT => [], PATCH => [], DELETE => [], HEAD => []}
39
40
 
40
41
  @routes[method] << WebRoute.new(method, path, block)
41
42
  @routes[HEAD] << WebRoute.new(method, path, block) if method == GET
@@ -50,7 +51,8 @@ module Sidekiq
50
51
  path_info = "/" if path_info == ""
51
52
 
52
53
  @routes[request_method].each do |route|
53
- if params = route.match(request_method, path_info)
54
+ params = route.match(request_method, path_info)
55
+ if params
54
56
  env[ROUTE_PARAMS] = params
55
57
 
56
58
  return WebAction.new(env, route.block)
@@ -77,7 +79,7 @@ module Sidekiq
77
79
  end
78
80
 
79
81
  def compile
80
- if pattern.match(NAMED_SEGMENTS_PATTERN)
82
+ if pattern.match?(NAMED_SEGMENTS_PATTERN)
81
83
  p = pattern.gsub(NAMED_SEGMENTS_PATTERN, '/\1(?<\2>[^$/]+)')
82
84
 
83
85
  Regexp.new("\\A#{p}\\Z")
@@ -91,7 +93,8 @@ module Sidekiq
91
93
  when String
92
94
  {} if path == matcher
93
95
  else
94
- if path_match = path.match(matcher)
96
+ path_match = path.match(matcher)
97
+ if path_match
95
98
  Hash[path_match.names.map(&:to_sym).zip(path_match.captures)]
96
99
  end
97
100
  end
data/lib/sidekiq/web.rb CHANGED
@@ -1,20 +1,21 @@
1
1
  # frozen_string_literal: true
2
- require 'erb'
3
2
 
4
- require 'sidekiq'
5
- require 'sidekiq/api'
6
- require 'sidekiq/paginator'
7
- require 'sidekiq/web/helpers'
3
+ require "erb"
8
4
 
9
- require 'sidekiq/web/router'
10
- require 'sidekiq/web/action'
11
- require 'sidekiq/web/application'
5
+ require "sidekiq"
6
+ require "sidekiq/api"
7
+ require "sidekiq/paginator"
8
+ require "sidekiq/web/helpers"
12
9
 
13
- require 'rack/protection'
10
+ require "sidekiq/web/router"
11
+ require "sidekiq/web/action"
12
+ require "sidekiq/web/application"
14
13
 
15
- require 'rack/builder'
16
- require 'rack/file'
17
- require 'rack/session/cookie'
14
+ require "rack/protection"
15
+
16
+ require "rack/builder"
17
+ require "rack/file"
18
+ require "rack/session/cookie"
18
19
 
19
20
  module Sidekiq
20
21
  class Web
@@ -25,12 +26,12 @@ module Sidekiq
25
26
  ASSETS = "#{ROOT}/assets"
26
27
 
27
28
  DEFAULT_TABS = {
28
- "Dashboard" => '',
29
- "Busy" => 'busy',
30
- "Queues" => 'queues',
31
- "Retries" => 'retries',
32
- "Scheduled" => 'scheduled',
33
- "Dead" => 'morgue',
29
+ "Dashboard" => "",
30
+ "Busy" => "busy",
31
+ "Queues" => "queues",
32
+ "Retries" => "retries",
33
+ "Scheduled" => "scheduled",
34
+ "Dead" => "morgue",
34
35
  }
35
36
 
36
37
  class << self
@@ -81,10 +82,10 @@ module Sidekiq
81
82
  end
82
83
 
83
84
  def self.inherited(child)
84
- child.app_url = self.app_url
85
- child.session_secret = self.session_secret
86
- child.redis_pool = self.redis_pool
87
- child.sessions = self.sessions
85
+ child.app_url = app_url
86
+ child.session_secret = session_secret
87
+ child.redis_pool = redis_pool
88
+ child.sessions = sessions
88
89
  end
89
90
 
90
91
  def settings
@@ -145,28 +146,28 @@ module Sidekiq
145
146
  private
146
147
 
147
148
  def using?(middleware)
148
- middlewares.any? do |(m,_)|
149
- m.kind_of?(Array) && (m[0] == middleware || m[0].kind_of?(middleware))
149
+ middlewares.any? do |(m, _)|
150
+ m.is_a?(Array) && (m[0] == middleware || m[0].is_a?(middleware))
150
151
  end
151
152
  end
152
153
 
153
154
  def build_sessions
154
155
  middlewares = self.middlewares
155
156
 
156
- unless using?(::Rack::Protection) || ENV['RACK_ENV'] == 'test'
157
- middlewares.unshift [[::Rack::Protection, { use: :authenticity_token }], nil]
157
+ unless using?(::Rack::Protection) || ENV["RACK_ENV"] == "test"
158
+ middlewares.unshift [[::Rack::Protection, {use: :authenticity_token}], nil]
158
159
  end
159
160
 
160
161
  s = sessions
161
162
  return unless s
162
163
 
163
164
  unless using? ::Rack::Session::Cookie
164
- unless secret = Web.session_secret
165
- require 'securerandom'
165
+ unless (secret = Web.session_secret)
166
+ require "securerandom"
166
167
  secret = SecureRandom.hex(64)
167
168
  end
168
169
 
169
- options = { secret: secret }
170
+ options = {secret: secret}
170
171
  options = options.merge(s.to_hash) if s.respond_to? :to_hash
171
172
 
172
173
  middlewares.unshift [[::Rack::Session::Cookie, options], nil]
@@ -180,9 +181,9 @@ module Sidekiq
180
181
  klass = self.class
181
182
 
182
183
  ::Rack::Builder.new do
183
- %w(stylesheets javascripts images).each do |asset_dir|
184
+ %w[stylesheets javascripts images].each do |asset_dir|
184
185
  map "/#{asset_dir}" do
185
- run ::Rack::File.new("#{ASSETS}/#{asset_dir}", { 'Cache-Control' => 'public, max-age=86400' })
186
+ run ::Rack::File.new("#{ASSETS}/#{asset_dir}", {"Cache-Control" => "public, max-age=86400"})
186
187
  end
187
188
  end
188
189
 
@@ -196,18 +197,9 @@ module Sidekiq
196
197
  Sidekiq::WebApplication.helpers WebHelpers
197
198
  Sidekiq::WebApplication.helpers Sidekiq::Paginator
198
199
 
199
- Sidekiq::WebAction.class_eval "def _render\n#{ERB.new(File.read(Web::LAYOUT)).src}\nend"
200
- end
201
-
202
- if defined?(::ActionDispatch::Request::Session) &&
203
- !::ActionDispatch::Request::Session.method_defined?(:each)
204
- # mperham/sidekiq#2460
205
- # Rack apps can't reuse the Rails session store without
206
- # this monkeypatch, fixed in Rails 5.
207
- class ActionDispatch::Request::Session
208
- def each(&block)
209
- hash = self.to_hash
210
- hash.each(&block)
200
+ Sidekiq::WebAction.class_eval <<-RUBY, __FILE__, __LINE__ + 1
201
+ def _render
202
+ #{ERB.new(File.read(Web::LAYOUT)).src}
211
203
  end
212
- end
204
+ RUBY
213
205
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'sidekiq/client'
3
2
 
4
- module Sidekiq
3
+ require "sidekiq/client"
5
4
 
5
+ module Sidekiq
6
6
  ##
7
7
  # Include this module in your worker class and you can easily create
8
8
  # asynchronous jobs:
@@ -24,7 +24,7 @@ module Sidekiq
24
24
  attr_accessor :jid
25
25
 
26
26
  def self.included(base)
27
- raise ArgumentError, "You cannot include Sidekiq::Worker in an ActiveJob: #{base.name}" if base.ancestors.any? {|c| c.name == 'ActiveJob::Base' }
27
+ raise ArgumentError, "You cannot include Sidekiq::Worker in an ActiveJob: #{base.name}" if base.ancestors.any? {|c| c.name == "ActiveJob::Base" }
28
28
 
29
29
  base.extend(ClassMethods)
30
30
  base.sidekiq_class_attribute :sidekiq_options_hash
@@ -52,7 +52,7 @@ module Sidekiq
52
52
  end
53
53
 
54
54
  def perform_async(*args)
55
- @klass.client_push(@opts.merge('args' => args, 'class' => @klass))
55
+ @klass.client_push(@opts.merge("args" => args, "class" => @klass))
56
56
  end
57
57
 
58
58
  # +interval+ must be a timestamp, numeric or something that acts
@@ -62,9 +62,9 @@ module Sidekiq
62
62
  now = Time.now.to_f
63
63
  ts = (int < 1_000_000_000 ? now + int : int)
64
64
 
65
- payload = @opts.merge('class' => @klass, 'args' => args, 'at' => ts)
65
+ payload = @opts.merge("class" => @klass, "args" => args, "at" => ts)
66
66
  # Optimization to enqueue something now that is scheduled to go out now or in the past
67
- payload.delete('at') if ts <= now
67
+ payload.delete("at") if ts <= now
68
68
  @klass.client_push(payload)
69
69
  end
70
70
  alias_method :perform_at, :perform_in
@@ -90,7 +90,7 @@ module Sidekiq
90
90
  end
91
91
 
92
92
  def perform_async(*args)
93
- client_push('class' => self, 'args' => args)
93
+ client_push("class" => self, "args" => args)
94
94
  end
95
95
 
96
96
  # +interval+ must be a timestamp, numeric or something that acts
@@ -100,10 +100,10 @@ module Sidekiq
100
100
  now = Time.now.to_f
101
101
  ts = (int < 1_000_000_000 ? now + int : int)
102
102
 
103
- item = { 'class' => self, 'args' => args, 'at' => ts }
103
+ item = {"class" => self, "args" => args, "at" => ts}
104
104
 
105
105
  # Optimization to enqueue something now that is scheduled to go out now or in the past
106
- item.delete('at') if ts <= now
106
+ item.delete("at") if ts <= now
107
107
 
108
108
  client_push(item)
109
109
  end
@@ -122,9 +122,9 @@ module Sidekiq
122
122
  #
123
123
  # In practice, any option is allowed. This is the main mechanism to configure the
124
124
  # options for a specific job.
125
- def sidekiq_options(opts={})
125
+ def sidekiq_options(opts = {})
126
126
  # stringify
127
- self.sidekiq_options_hash = get_sidekiq_options.merge(Hash[opts.map{|k, v| [k.to_s, v]}])
127
+ self.sidekiq_options_hash = get_sidekiq_options.merge(Hash[opts.map {|k, v| [k.to_s, v]}])
128
128
  end
129
129
 
130
130
  def sidekiq_retry_in(&block)
@@ -140,7 +140,7 @@ module Sidekiq
140
140
  end
141
141
 
142
142
  def client_push(item) # :nodoc:
143
- pool = Thread.current[:sidekiq_via_pool] || get_sidekiq_options['pool'] || Sidekiq.redis_pool
143
+ pool = Thread.current[:sidekiq_via_pool] || get_sidekiq_options["pool"] || Sidekiq.redis_pool
144
144
  # stringify
145
145
  item.keys.each do |key|
146
146
  item[key.to_s] = item.delete(key)
@@ -214,7 +214,6 @@ module Sidekiq
214
214
  end
215
215
  end
216
216
  end
217
-
218
217
  end
219
218
  end
220
219
  end
data/lib/sidekiq.rb CHANGED
@@ -1,27 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'sidekiq/version'
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')
3
+ require "sidekiq/version"
4
+ fail "Sidekiq #{Sidekiq::VERSION} does not support Ruby versions below 2.5.0." if RUBY_PLATFORM != "java" && Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.5.0")
5
5
 
6
- require 'sidekiq/logging'
7
- require 'sidekiq/client'
8
- require 'sidekiq/worker'
9
- require 'sidekiq/redis_connection'
10
- require 'sidekiq/delay'
6
+ require "sidekiq/logger"
7
+ require "sidekiq/client"
8
+ require "sidekiq/worker"
9
+ require "sidekiq/redis_connection"
10
+ require "sidekiq/delay"
11
11
 
12
- require 'json'
12
+ require "json"
13
13
 
14
14
  module Sidekiq
15
- NAME = 'Sidekiq'
16
- LICENSE = 'See LICENSE and the LGPL-3.0 for licensing details.'
15
+ NAME = "Sidekiq"
16
+ LICENSE = "See LICENSE and the LGPL-3.0 for licensing details."
17
17
 
18
18
  DEFAULTS = {
19
19
  queues: [],
20
20
  labels: [],
21
21
  concurrency: 10,
22
- require: '.',
22
+ require: ".",
23
23
  environment: nil,
24
- timeout: 8,
24
+ timeout: 25,
25
25
  poll_interval_average: nil,
26
26
  average_scheduled_poll_interval: 5,
27
27
  error_handlers: [],
@@ -38,8 +38,8 @@ module Sidekiq
38
38
  }
39
39
 
40
40
  DEFAULT_WORKER_OPTIONS = {
41
- 'retry' => true,
42
- 'queue' => 'default'
41
+ "retry" => true,
42
+ "queue" => "default",
43
43
  }
44
44
 
45
45
  FAKE_INFO = {
@@ -47,7 +47,7 @@ module Sidekiq
47
47
  "uptime_in_days" => "9999",
48
48
  "connected_clients" => "9999",
49
49
  "used_memory_human" => "9P",
50
- "used_memory_peak_human" => "9P"
50
+ "used_memory_peak_human" => "9P",
51
51
  }
52
52
 
53
53
  def self.❨╯°□°❩╯︵┻━┻
@@ -96,9 +96,13 @@ module Sidekiq
96
96
  begin
97
97
  yield conn
98
98
  rescue Redis::CommandError => ex
99
- #2550 Failover can cause the server to become a replica, need
99
+ # 2550 Failover can cause the server to become a replica, need
100
100
  # to disconnect and reopen the socket to get back to the primary.
101
- (conn.disconnect!; retryable = false; retry) if retryable && ex.message =~ /READONLY/
101
+ if retryable && ex.message =~ /READONLY/
102
+ conn.disconnect!
103
+ retryable = false
104
+ retry
105
+ end
102
106
  raise
103
107
  end
104
108
  end
@@ -106,19 +110,17 @@ module Sidekiq
106
110
 
107
111
  def self.redis_info
108
112
  redis do |conn|
109
- begin
110
- # admin commands can't go through redis-namespace starting
111
- # in redis-namespace 2.0
112
- if conn.respond_to?(:namespace)
113
- conn.redis.info
114
- else
115
- conn.info
116
- end
117
- rescue Redis::CommandError => ex
118
- #2850 return fake version when INFO command has (probably) been renamed
119
- raise unless ex.message =~ /unknown command/
120
- FAKE_INFO
113
+ # admin commands can't go through redis-namespace starting
114
+ # in redis-namespace 2.0
115
+ if conn.respond_to?(:namespace)
116
+ conn.redis.info
117
+ else
118
+ conn.info
121
119
  end
120
+ rescue Redis::CommandError => ex
121
+ # 2850 return fake version when INFO command has (probably) been renamed
122
+ raise unless ex.message =~ /unknown command/
123
+ FAKE_INFO
122
124
  end
123
125
  end
124
126
 
@@ -152,18 +154,13 @@ module Sidekiq
152
154
 
153
155
  def self.default_worker_options=(hash)
154
156
  # stringify
155
- @default_worker_options = default_worker_options.merge(Hash[hash.map{|k, v| [k.to_s, v]}])
157
+ @default_worker_options = default_worker_options.merge(Hash[hash.map {|k, v| [k.to_s, v]}])
156
158
  end
159
+
157
160
  def self.default_worker_options
158
161
  defined?(@default_worker_options) ? @default_worker_options : DEFAULT_WORKER_OPTIONS
159
162
  end
160
163
 
161
- def self.default_retries_exhausted=(prok)
162
- logger.info { "default_retries_exhausted is deprecated, please use `config.death_handlers << -> {|job, ex| }`" }
163
- return nil unless prok
164
- death_handlers << prok
165
- end
166
-
167
164
  ##
168
165
  # Death handlers are called when all retries for a job have been exhausted and
169
166
  # the job dies. It's the notification to your application
@@ -180,15 +177,29 @@ module Sidekiq
180
177
  def self.load_json(string)
181
178
  JSON.parse(string)
182
179
  end
180
+
183
181
  def self.dump_json(object)
184
182
  JSON.generate(object)
185
183
  end
186
184
 
185
+ def self.log_formatter
186
+ @log_formatter ||= if ENV["DYNO"]
187
+ Sidekiq::Logger::Formatters::WithoutTimestamp.new
188
+ else
189
+ Sidekiq::Logger::Formatters::Pretty.new
190
+ end
191
+ end
192
+
193
+ def self.log_formatter=(log_formatter)
194
+ @log_formatter = log_formatter
195
+ end
196
+
187
197
  def self.logger
188
- Sidekiq::Logging.logger
198
+ @logger ||= Sidekiq::Logger.new(STDOUT, level: Logger::INFO)
189
199
  end
190
- def self.logger=(log)
191
- Sidekiq::Logging.logger = log
200
+
201
+ def self.logger=(logger)
202
+ @logger = logger
192
203
  end
193
204
 
194
205
  # How frequently Redis should be checked by a random Sidekiq process for
@@ -197,7 +208,7 @@ module Sidekiq
197
208
  #
198
209
  # See sidekiq/scheduled.rb for an in-depth explanation of this value
199
210
  def self.average_scheduled_poll_interval=(interval)
200
- self.options[:average_scheduled_poll_interval] = interval
211
+ options[:average_scheduled_poll_interval] = interval
201
212
  end
202
213
 
203
214
  # Register a proc to handle any error which occurs within the Sidekiq process.
@@ -208,7 +219,7 @@ module Sidekiq
208
219
  #
209
220
  # The default error handler logs errors to Sidekiq.logger.
210
221
  def self.error_handlers
211
- self.options[:error_handlers]
222
+ options[:error_handlers]
212
223
  end
213
224
 
214
225
  # Register a block to run at a point in the Sidekiq lifecycle.
@@ -234,4 +245,4 @@ module Sidekiq
234
245
  class Shutdown < Interrupt; end
235
246
  end
236
247
 
237
- require 'sidekiq/rails' if defined?(::Rails::Engine)
248
+ require "sidekiq/rails" if defined?(::Rails::Engine)
data/sidekiq.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- require_relative 'lib/sidekiq/version'
1
+ require_relative "lib/sidekiq/version"
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.authors = ["Mike Perham"]
@@ -8,14 +8,14 @@ Gem::Specification.new do |gem|
8
8
  gem.homepage = "http://sidekiq.org"
9
9
  gem.license = "LGPL-3.0"
10
10
 
11
- gem.executables = ['sidekiq', 'sidekiqctl']
11
+ gem.executables = ["sidekiq", "sidekiqctl"]
12
12
  gem.files = `git ls-files | grep -Ev '^(test|myapp|examples)'`.split("\n")
13
13
  gem.name = "sidekiq"
14
14
  gem.version = Sidekiq::VERSION
15
- gem.required_ruby_version = ">= 2.2.2"
15
+ gem.required_ruby_version = ">= 2.5.0"
16
16
 
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'
17
+ gem.add_dependency "redis", ">= 4.0.2"
18
+ gem.add_dependency "connection_pool", ">= 2.2.2"
19
+ gem.add_dependency "rack", ">= 1.5.0"
20
+ gem.add_dependency "rack-protection", ">= 1.5.0"
21
21
  end
metadata CHANGED
@@ -1,42 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.10
4
+ version: 6.0.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-02 00:00:00.000000000 Z
11
+ date: 2019-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '4.5'
20
- - - "<"
17
+ - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 4.6.0
19
+ version: 4.0.2
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '4.5'
30
- - - "<"
24
+ - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 4.6.0
26
+ version: 4.0.2
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: connection_pool
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '2.2'
40
31
  - - ">="
41
32
  - !ruby/object:Gem::Version
42
33
  version: 2.2.2
@@ -44,9 +35,6 @@ dependencies:
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '2.2'
50
38
  - - ">="
51
39
  - !ruby/object:Gem::Version
52
40
  version: 2.2.2
@@ -54,16 +42,16 @@ dependencies:
54
42
  name: rack
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
- - - "~>"
45
+ - - ">="
58
46
  - !ruby/object:Gem::Version
59
- version: '2.0'
47
+ version: 1.5.0
60
48
  type: :runtime
61
49
  prerelease: false
62
50
  version_requirements: !ruby/object:Gem::Requirement
63
51
  requirements:
64
- - - "~>"
52
+ - - ">="
65
53
  - !ruby/object:Gem::Version
66
- version: '2.0'
54
+ version: 1.5.0
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: rack-protection
69
57
  requirement: !ruby/object:Gem::Requirement
@@ -91,10 +79,12 @@ files:
91
79
  - ".github/contributing.md"
92
80
  - ".github/issue_template.md"
93
81
  - ".gitignore"
82
+ - ".standard.yml"
94
83
  - ".travis.yml"
95
84
  - 3.0-Upgrade.md
96
85
  - 4.0-Upgrade.md
97
86
  - 5.0-Upgrade.md
87
+ - 6.0-Upgrade.md
98
88
  - COMM-LICENSE
99
89
  - Changes.md
100
90
  - Ent-Changes.md
@@ -118,7 +108,6 @@ files:
118
108
  - lib/sidekiq/api.rb
119
109
  - lib/sidekiq/cli.rb
120
110
  - lib/sidekiq/client.rb
121
- - lib/sidekiq/core_ext.rb
122
111
  - lib/sidekiq/ctl.rb
123
112
  - lib/sidekiq/delay.rb
124
113
  - lib/sidekiq/exception_handler.rb
@@ -130,11 +119,10 @@ files:
130
119
  - lib/sidekiq/job_logger.rb
131
120
  - lib/sidekiq/job_retry.rb
132
121
  - lib/sidekiq/launcher.rb
133
- - lib/sidekiq/logging.rb
122
+ - lib/sidekiq/logger.rb
134
123
  - lib/sidekiq/manager.rb
135
124
  - lib/sidekiq/middleware/chain.rb
136
125
  - lib/sidekiq/middleware/i18n.rb
137
- - lib/sidekiq/middleware/server/active_record.rb
138
126
  - lib/sidekiq/paginator.rb
139
127
  - lib/sidekiq/processor.rb
140
128
  - lib/sidekiq/rails.rb
@@ -208,7 +196,7 @@ homepage: http://sidekiq.org
208
196
  licenses:
209
197
  - LGPL-3.0
210
198
  metadata: {}
211
- post_install_message:
199
+ post_install_message:
212
200
  rdoc_options: []
213
201
  require_paths:
214
202
  - lib
@@ -216,15 +204,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
204
  requirements:
217
205
  - - ">="
218
206
  - !ruby/object:Gem::Version
219
- version: 2.2.2
207
+ version: 2.5.0
220
208
  required_rubygems_version: !ruby/object:Gem::Requirement
221
209
  requirements:
222
- - - ">="
210
+ - - ">"
223
211
  - !ruby/object:Gem::Version
224
- version: '0'
212
+ version: 1.3.1
225
213
  requirements: []
226
- rubygems_version: 3.2.32
227
- signing_key:
214
+ rubygems_version: 3.0.1
215
+ signing_key:
228
216
  specification_version: 4
229
217
  summary: Simple, efficient background processing for Ruby
230
218
  test_files: []
@@ -1 +0,0 @@
1
- raise "no longer used, will be removed in 5.1"