sidekiq 5.1.3 → 5.2.10
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.
- 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;
|