sidekiq 5.2.6 → 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 +4 -4
- data/.circleci/config.yml +61 -0
- data/Changes.md +26 -0
- data/Gemfile +1 -5
- data/README.md +1 -1
- data/lib/sidekiq/api.rb +3 -1
- data/lib/sidekiq/client.rb +1 -1
- data/lib/sidekiq/ctl.rb +2 -2
- data/lib/sidekiq/launcher.rb +1 -1
- data/lib/sidekiq/middleware/server/active_record.rb +1 -1
- data/lib/sidekiq/version.rb +1 -1
- data/lib/sidekiq/web/action.rb +1 -1
- data/lib/sidekiq/web/application.rb +4 -1
- data/sidekiq.gemspec +2 -2
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22b205223a123bbe3a8812f1e2804be148afb5fe91c201ecb9a073eb4a188a06
|
4
|
+
data.tar.gz: '08ab2999267df91afb8f62b9a6b00810299791cad99763d5b16f70bda946410a'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad90b8ed3b060ce4521326a0dd4173550ee6bf64b0674fc08fbf37770aaec5ca0ea82738ed1730ccfcff4e0b616afcc47789ca8610cdd41a20abc0ef7d734891
|
7
|
+
data.tar.gz: 2ed367f9801d28616a1b56b0b209cfe797c2b5a137d2e67cfb8c6864c8d5ed8f58992924ddce654f1fec53b84a5f18abdf88d4df45373b98f46786d511bac3f2
|
@@ -0,0 +1,61 @@
|
|
1
|
+
version: 2
|
2
|
+
references:
|
3
|
+
unit: &unit
|
4
|
+
run:
|
5
|
+
name: Run test suite
|
6
|
+
command: bundle exec rake
|
7
|
+
restore: &restore
|
8
|
+
restore_cache:
|
9
|
+
keys:
|
10
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
11
|
+
# fallback to using the latest cache if no exact match is found
|
12
|
+
- v1-dependencies-
|
13
|
+
bundle: &bundle
|
14
|
+
run:
|
15
|
+
name: install dependencies
|
16
|
+
command: |
|
17
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
18
|
+
save: &save
|
19
|
+
save_cache:
|
20
|
+
paths:
|
21
|
+
- ./vendor/bundle
|
22
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
23
|
+
jobs:
|
24
|
+
"ruby-2.5":
|
25
|
+
docker:
|
26
|
+
- image: circleci/ruby:2.5
|
27
|
+
- image: circleci/redis:4.0
|
28
|
+
steps:
|
29
|
+
- checkout
|
30
|
+
- <<: *restore
|
31
|
+
- <<: *bundle
|
32
|
+
- <<: *save
|
33
|
+
- <<: *unit
|
34
|
+
"ruby-2.6":
|
35
|
+
docker:
|
36
|
+
- image: circleci/ruby:2.6
|
37
|
+
- image: circleci/redis:4.0
|
38
|
+
steps:
|
39
|
+
- checkout
|
40
|
+
- <<: *restore
|
41
|
+
- <<: *bundle
|
42
|
+
- <<: *save
|
43
|
+
- <<: *unit
|
44
|
+
"jruby":
|
45
|
+
docker:
|
46
|
+
- image: circleci/jruby:latest
|
47
|
+
- image: circleci/redis:4.0
|
48
|
+
steps:
|
49
|
+
- checkout
|
50
|
+
- <<: *restore
|
51
|
+
- <<: *bundle
|
52
|
+
- <<: *save
|
53
|
+
- <<: *unit
|
54
|
+
|
55
|
+
workflows:
|
56
|
+
version: 2
|
57
|
+
build:
|
58
|
+
jobs:
|
59
|
+
- "ruby-2.5"
|
60
|
+
- "ruby-2.6"
|
61
|
+
- "jruby"
|
data/Changes.md
CHANGED
@@ -2,12 +2,38 @@
|
|
2
2
|
|
3
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
4
|
|
5
|
+
5.2.10
|
6
|
+
---------
|
7
|
+
|
8
|
+
- Backport fix for CVE-2022-23837.
|
9
|
+
- Migrate to `exists?` for redis-rb.
|
10
|
+
- Lock redis-rb to <4.6 to avoid deprecations.
|
11
|
+
|
12
|
+
5.2.9
|
13
|
+
---------
|
14
|
+
|
15
|
+
- Release Rack lock due to a cascade of CVEs. [#4566]
|
16
|
+
Pro-tip: don't lock Rack.
|
17
|
+
|
18
|
+
5.2.8
|
19
|
+
---------
|
20
|
+
|
21
|
+
- Lock to Rack 2.0.x to prevent future incompatibilities
|
22
|
+
- Fix invalid reference in `sidekiqctl`
|
23
|
+
|
24
|
+
5.2.7
|
25
|
+
---------
|
26
|
+
|
27
|
+
- Fix stale `enqueued_at` when retrying [#4149]
|
28
|
+
- Move build to [Circle CI](https://circleci.com/gh/mperham/sidekiq) [#4120]
|
29
|
+
|
5
30
|
5.2.6
|
6
31
|
---------
|
7
32
|
|
8
33
|
- Fix edge case where a job failure during Redis outage could result in a lost job [#4141]
|
9
34
|
- Better handling of malformed job arguments in payload [#4095]
|
10
35
|
- Restore bootstap's dropdown css component [#4099, urkle]
|
36
|
+
- Display human-friendly time diff for longer queue latencies [#4111, interlinked]
|
11
37
|
- Allow `Sidekiq::Worker#set` to be chained
|
12
38
|
|
13
39
|
5.2.5
|
data/Gemfile
CHANGED
@@ -5,7 +5,7 @@ gemspec
|
|
5
5
|
gem 'rake'
|
6
6
|
gem 'redis-namespace'
|
7
7
|
gem 'rails', '~> 5.2'
|
8
|
-
gem 'sqlite3',
|
8
|
+
gem 'sqlite3', platforms: :ruby
|
9
9
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
|
10
10
|
|
11
11
|
group :test do
|
@@ -13,10 +13,6 @@ group :test do
|
|
13
13
|
gem 'simplecov'
|
14
14
|
end
|
15
15
|
|
16
|
-
group :development, :test do
|
17
|
-
gem 'pry-byebug', platforms: :mri
|
18
|
-
end
|
19
|
-
|
20
16
|
group :load_test do
|
21
17
|
gem 'hiredis'
|
22
18
|
gem 'toxiproxy'
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@ Sidekiq
|
|
3
3
|
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/sidekiq.svg)](https://rubygems.org/gems/sidekiq)
|
5
5
|
[![Code Climate](https://codeclimate.com/github/mperham/sidekiq.svg)](https://codeclimate.com/github/mperham/sidekiq)
|
6
|
-
[![Build Status](https://
|
6
|
+
[![Build Status](https://circleci.com/gh/mperham/sidekiq/tree/master.svg?style=svg)](https://circleci.com/gh/mperham/sidekiq/tree/master)
|
7
7
|
[![Gitter Chat](https://badges.gitter.im/mperham/sidekiq.svg)](https://gitter.im/mperham/sidekiq)
|
8
8
|
|
9
9
|
|
data/lib/sidekiq/api.rb
CHANGED
@@ -164,6 +164,8 @@ module Sidekiq
|
|
164
164
|
|
165
165
|
class History
|
166
166
|
def initialize(days_previous, start_date = nil)
|
167
|
+
#we only store five years of data in Redis
|
168
|
+
raise ArgumentError if days_previous < 1 || days_previous > (5 * 365)
|
167
169
|
@days_previous = days_previous
|
168
170
|
@start_date = start_date || Time.now.utc.to_date
|
169
171
|
end
|
@@ -904,7 +906,7 @@ module Sidekiq
|
|
904
906
|
procs = sscan(conn, 'processes')
|
905
907
|
procs.sort.each do |key|
|
906
908
|
valid, workers = conn.pipelined do
|
907
|
-
conn.exists(key)
|
909
|
+
conn.exists?(key)
|
908
910
|
conn.hgetall("#{key}:workers")
|
909
911
|
end
|
910
912
|
next unless valid
|
data/lib/sidekiq/client.rb
CHANGED
data/lib/sidekiq/ctl.rb
CHANGED
@@ -18,10 +18,10 @@ class Sidekiq::Ctl
|
|
18
18
|
puts
|
19
19
|
puts " <pidfile> is path to a pidfile"
|
20
20
|
puts " <kill_timeout> is number of seconds to wait until Sidekiq exits"
|
21
|
-
puts " (default: #{
|
21
|
+
puts " (default: #{Sidekiq::Ctl::DEFAULT_KILL_TIMEOUT}), after which Sidekiq will be KILL'd"
|
22
22
|
puts
|
23
23
|
puts " <section> (optional) view a specific section of the status output"
|
24
|
-
puts " Valid sections are: #{
|
24
|
+
puts " Valid sections are: #{Sidekiq::Ctl::Status::VALID_SECTIONS.join(', ')}"
|
25
25
|
puts
|
26
26
|
puts "Be sure to set the kill_timeout LONGER than Sidekiq's -t timeout. If you want"
|
27
27
|
puts "to wait 60 seconds for jobs to finish, use `sidekiq -t 60` and `sidekiqctl stop"
|
data/lib/sidekiq/launcher.rb
CHANGED
@@ -102,7 +102,7 @@ module Sidekiq
|
|
102
102
|
_, exists, _, _, msg = Sidekiq.redis do |conn|
|
103
103
|
conn.multi do
|
104
104
|
conn.sadd('processes', key)
|
105
|
-
conn.exists(key)
|
105
|
+
conn.exists?(key)
|
106
106
|
conn.hmset(key, 'info', to_json, 'busy', curstate.size, 'beat', Time.now.to_f, 'quiet', @done)
|
107
107
|
conn.expire(key, 60)
|
108
108
|
conn.rpop("#{key}-signals")
|
@@ -7,7 +7,7 @@ module Sidekiq
|
|
7
7
|
def initialize
|
8
8
|
# With Rails 5+ we must use the Reloader **always**.
|
9
9
|
# The reloader handles code loading and db connection management.
|
10
|
-
if defined?(::Rails) && ::Rails::VERSION::MAJOR >= 5
|
10
|
+
if defined?(::Rails) && defined?(::Rails::VERSION) && ::Rails::VERSION::MAJOR >= 5
|
11
11
|
raise ArgumentError, "Rails 5 no longer needs or uses the ActiveRecord middleware."
|
12
12
|
end
|
13
13
|
end
|
data/lib/sidekiq/version.rb
CHANGED
data/lib/sidekiq/web/action.rb
CHANGED
@@ -45,7 +45,10 @@ module Sidekiq
|
|
45
45
|
|
46
46
|
get "/" do
|
47
47
|
@redis_info = redis_info.select{ |k, v| REDIS_KEYS.include? k }
|
48
|
-
|
48
|
+
days = (params["days"] || 30).to_i
|
49
|
+
return halt(401) if days < 1 || days > 180
|
50
|
+
|
51
|
+
stats_history = Sidekiq::Stats::History.new(days)
|
49
52
|
@processed_history = stats_history.processed
|
50
53
|
@failed_history = stats_history.failed
|
51
54
|
|
data/sidekiq.gemspec
CHANGED
@@ -14,8 +14,8 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.version = Sidekiq::VERSION
|
15
15
|
gem.required_ruby_version = ">= 2.2.2"
|
16
16
|
|
17
|
-
gem.add_dependency
|
17
|
+
gem.add_dependency "redis", "~> 4.5", "< 4.6.0"
|
18
18
|
gem.add_dependency 'connection_pool', '~> 2.2', '>= 2.2.2'
|
19
|
-
gem.add_dependency 'rack', '
|
19
|
+
gem.add_dependency 'rack', '~> 2.0'
|
20
20
|
gem.add_dependency 'rack-protection', '>= 1.5.0'
|
21
21
|
end
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.10
|
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:
|
11
|
+
date: 2022-02-02 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
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '4.5'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 4.6.0
|
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:
|
29
|
+
version: '4.5'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 4.6.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: connection_pool
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,16 +54,16 @@ dependencies:
|
|
54
54
|
name: rack
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - "
|
57
|
+
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
59
|
+
version: '2.0'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- - "
|
64
|
+
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
66
|
+
version: '2.0'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: rack-protection
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,6 +87,7 @@ executables:
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
+
- ".circleci/config.yml"
|
90
91
|
- ".github/contributing.md"
|
91
92
|
- ".github/issue_template.md"
|
92
93
|
- ".gitignore"
|
@@ -207,7 +208,7 @@ homepage: http://sidekiq.org
|
|
207
208
|
licenses:
|
208
209
|
- LGPL-3.0
|
209
210
|
metadata: {}
|
210
|
-
post_install_message:
|
211
|
+
post_install_message:
|
211
212
|
rdoc_options: []
|
212
213
|
require_paths:
|
213
214
|
- lib
|
@@ -222,8 +223,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
223
|
- !ruby/object:Gem::Version
|
223
224
|
version: '0'
|
224
225
|
requirements: []
|
225
|
-
rubygems_version: 3.
|
226
|
-
signing_key:
|
226
|
+
rubygems_version: 3.2.32
|
227
|
+
signing_key:
|
227
228
|
specification_version: 4
|
228
229
|
summary: Simple, efficient background processing for Ruby
|
229
230
|
test_files: []
|