sidekiq 6.0.0 → 6.1.0

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +13 -3
  3. data/6.0-Upgrade.md +3 -1
  4. data/Changes.md +149 -1
  5. data/Ent-Changes.md +21 -2
  6. data/Gemfile +2 -2
  7. data/Gemfile.lock +121 -109
  8. data/Pro-Changes.md +24 -2
  9. data/README.md +4 -5
  10. data/bin/sidekiq +26 -2
  11. data/bin/sidekiqload +8 -4
  12. data/bin/sidekiqmon +4 -5
  13. data/lib/generators/sidekiq/worker_generator.rb +11 -1
  14. data/lib/sidekiq/api.rb +126 -93
  15. data/lib/sidekiq/cli.rb +42 -21
  16. data/lib/sidekiq/client.rb +33 -12
  17. data/lib/sidekiq/extensions/active_record.rb +3 -2
  18. data/lib/sidekiq/extensions/class_methods.rb +5 -4
  19. data/lib/sidekiq/fetch.rb +26 -24
  20. data/lib/sidekiq/job_logger.rb +12 -4
  21. data/lib/sidekiq/job_retry.rb +23 -10
  22. data/lib/sidekiq/launcher.rb +35 -10
  23. data/lib/sidekiq/logger.rb +108 -12
  24. data/lib/sidekiq/manager.rb +3 -3
  25. data/lib/sidekiq/middleware/chain.rb +11 -2
  26. data/lib/sidekiq/monitor.rb +3 -18
  27. data/lib/sidekiq/paginator.rb +7 -2
  28. data/lib/sidekiq/processor.rb +22 -24
  29. data/lib/sidekiq/rails.rb +16 -18
  30. data/lib/sidekiq/redis_connection.rb +21 -13
  31. data/lib/sidekiq/scheduled.rb +13 -12
  32. data/lib/sidekiq/sd_notify.rb +149 -0
  33. data/lib/sidekiq/systemd.rb +24 -0
  34. data/lib/sidekiq/testing.rb +13 -1
  35. data/lib/sidekiq/util.rb +0 -2
  36. data/lib/sidekiq/version.rb +1 -1
  37. data/lib/sidekiq/web/application.rb +22 -21
  38. data/lib/sidekiq/web/csrf_protection.rb +153 -0
  39. data/lib/sidekiq/web/helpers.rb +25 -16
  40. data/lib/sidekiq/web/router.rb +2 -4
  41. data/lib/sidekiq/web.rb +16 -8
  42. data/lib/sidekiq/worker.rb +8 -11
  43. data/lib/sidekiq.rb +21 -7
  44. data/sidekiq.gemspec +3 -4
  45. data/web/assets/javascripts/application.js +24 -21
  46. data/web/assets/javascripts/dashboard.js +2 -2
  47. data/web/assets/stylesheets/application-dark.css +133 -0
  48. data/web/assets/stylesheets/application.css +14 -0
  49. data/web/locales/de.yml +14 -2
  50. data/web/locales/en.yml +2 -0
  51. data/web/locales/fr.yml +2 -2
  52. data/web/locales/ja.yml +2 -0
  53. data/web/locales/lt.yml +83 -0
  54. data/web/locales/pl.yml +4 -4
  55. data/web/locales/vi.yml +83 -0
  56. data/web/views/_job_info.erb +2 -1
  57. data/web/views/busy.erb +4 -1
  58. data/web/views/dead.erb +2 -2
  59. data/web/views/layout.erb +1 -0
  60. data/web/views/morgue.erb +4 -1
  61. data/web/views/queue.erb +10 -1
  62. data/web/views/queues.erb +8 -0
  63. data/web/views/retries.erb +4 -1
  64. data/web/views/retry.erb +2 -2
  65. data/web/views/scheduled.erb +4 -1
  66. metadata +16 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fda3ed37e1d981e1b32eea70669c678d400c071a9146a919848bcc598612de25
4
- data.tar.gz: 6580ab6c188b2514efe807479ca25c06ea584d1def175d84d94639bc20f80b1e
3
+ metadata.gz: e22aedd56d4f0b3a30fc73ceec6d246813b1b7e2f233dc2e19fe435c1689abd8
4
+ data.tar.gz: 8beb1e49cc43aa6f179f72cbd191832151facb48f01d67b4b6c979aa63cbbf1a
5
5
  SHA512:
6
- metadata.gz: 25682d3dbf99d29fa3f56b7c74419863d3549b6e0c182e69c83fbc02a2955d053bca85eec53b474d4d22c7526e44e865f378aa4111152a91377b373be27c4d47
7
- data.tar.gz: e55d07434b1e2ab26df6748101bf10640fc08d4d93f00b75ed04d82ed309ee8529d652982430cd00671c98b5e53cc733bef4b686df58a6b0e116ba04c12139aa
6
+ metadata.gz: 8ad1d321a4e319cf7760f0984085c635cb98fd9aef600665bf90b7a301caa53e9d9fb42dc064196e083d115fd6719eaa1445263c32e4906c6c9de4789970c9e0
7
+ data.tar.gz: 4a4e5d184b7ba0cd8dcba3f27b8dc7ec65138ba1b34cd5414e2e6610f9a590c9bcae09940d96b960deb9db3d25b7b0314b1ff0c630b877e10ae2461b6fe645be
data/.circleci/config.yml CHANGED
@@ -3,7 +3,7 @@ references:
3
3
  unit: &unit
4
4
  run:
5
5
  name: Run test suite
6
- command: bundle exec rake
6
+ command: bundle exec rake COVERAGE=1
7
7
  restore: &restore
8
8
  restore_cache:
9
9
  keys:
@@ -34,7 +34,17 @@ jobs:
34
34
  "ruby-2.6":
35
35
  docker:
36
36
  - image: circleci/ruby:2.6
37
- - image: circleci/redis:4.0
37
+ - image: circleci/redis:5.0
38
+ steps:
39
+ - checkout
40
+ - <<: *restore
41
+ - <<: *bundle
42
+ - <<: *save
43
+ - <<: *unit
44
+ "ruby-2.7":
45
+ docker:
46
+ - image: circleci/ruby:2.7
47
+ - image: circleci/redis:6.0
38
48
  steps:
39
49
  - checkout
40
50
  - <<: *restore
@@ -58,4 +68,4 @@ workflows:
58
68
  jobs:
59
69
  - "ruby-2.5"
60
70
  - "ruby-2.6"
61
- - "jruby"
71
+ - "ruby-2.7"
data/6.0-Upgrade.md CHANGED
@@ -10,6 +10,7 @@ This release has major breaking changes. Read and test carefully in production.
10
10
  - ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
11
11
  features/internals like the retry subsystem. Prefer the native
12
12
  Sidekiq::Worker APIs as some Sidekiq features (e.g. unique jobs) do not work well with AJ.
13
+ (requires Rails 6.0.2)
13
14
  ```ruby
14
15
  class MyJob < ActiveJob::Base
15
16
  queue_as :myqueue
@@ -31,9 +32,10 @@ you can override it by configuring the log formatter explicitly. See
31
32
  ```ruby
32
33
  Sidekiq.configure_server do |config|
33
34
  config.log_formatter = AcmeCorp::PlainLogFormatter.new
34
- # config.log_formatter = Sidekiq::Logger::Format::JSON.new
35
+ # config.log_formatter = Sidekiq::Logger::Formatters::JSON.new
35
36
  end
36
37
  ```
38
+ Please see the [Logging](https://github.com/mperham/sidekiq/wiki/Logging) wiki page for the latest documentation and notes.
37
39
  - **Remove the daemonization, logfile and pidfile command line arguments and `sidekiqctl` binary**.
38
40
  I've [noted for years](https://www.mikeperham.com/2014/09/22/dont-daemonize-your-daemons/)
39
41
  how modern services should be managed with a proper init system.
data/Changes.md CHANGED
@@ -2,12 +2,141 @@
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
+ HEAD
6
+ ---------
7
+
8
+ - Web UI - Dark Mode fixes [#4543, natematykiewicz]
9
+ - Ensure `Rack::ContentLength` is loaded as middleware for correct Web UI responses [#4541]
10
+ - Avoid exception dumping SSL store in Redis connection logging [#4532]
11
+ - Better error messages in Sidekiq::Client [#4549]
12
+ - Remove rack-protection, reimplement CSRF protection [#4588]
13
+ - Require redis-rb 4.2 [#4591]
14
+ - Update to jquery 1.12.4 [#4593]
15
+ - Refactor internal fetch logic and API [#4602]
16
+
17
+ 6.0.7
18
+ ---------
19
+
20
+ - Refactor systemd integration to work better with custom binaries [#4511]
21
+ - Don't connect to Redis at process exit if not needed [#4502]
22
+ - Remove Redis connection naming [#4479]
23
+ - Fix Redis Sentinel password redaction [#4499]
24
+ - Add Vietnamese locale (vi) [#4528]
25
+
26
+ 6.0.6
27
+ ---------
28
+
29
+ - **Integrate with systemd's watchdog and notification features** [#4488]
30
+ Set `Type=notify` in [sidekiq.service](https://github.com/mperham/sidekiq/blob/4b8a8bd3ae42f6e48ae1fdaf95ed7d7af18ed8bb/examples/systemd/sidekiq.service#L30-L39). The integration works automatically.
31
+ - Use `setTimeout` rather than `setInterval` to avoid thundering herd [#4480]
32
+ - Fix edge case where a job can be pushed without a queue.
33
+ - Flush job stats at exit [#4498]
34
+ - Check RAILS_ENV before RACK_ENV [#4493]
35
+ - Add Lithuanian locale [#4476]
36
+
37
+ 6.0.5
38
+ ---------
39
+
40
+ - Fix broken Web UI response when using NewRelic and Rack 2.1.2+. [#4440]
41
+ - Update APIs to use `UNLINK`, not `DEL`. [#4449]
42
+ - Fix Ruby 2.7 warnings [#4412]
43
+ - Add support for `APP_ENV` [[95fa5d9]](https://github.com/mperham/sidekiq/commit/95fa5d90192148026e52ca2902f1b83c70858ce8)
44
+
45
+ 6.0.4
46
+ ---------
47
+
48
+ - Fix ActiveJob's `sidekiq_options` integration [#4404]
49
+ - Sidekiq Pro users will now see a Pause button next to each queue in
50
+ the Web UI, allowing them to pause queues manually [#4374, shayonj]
51
+ - Fix Sidekiq::Workers API unintentional change in 6.0.2 [#4387]
52
+
53
+
54
+ 6.0.3
55
+ ---------
56
+
57
+ - Fix `Sidekiq::Client.push_bulk` API which was erroneously putting
58
+ invalid `at` values in the job payloads [#4321]
59
+
60
+ 6.0.2
61
+ ---------
62
+
63
+ - Fix Sidekiq Enterprise's rolling restart functionality, broken by refactoring in 6.0.0. [#4334]
64
+ - More internal refactoring and performance tuning [fatkodima]
65
+
66
+ 6.0.1
67
+ ---------
68
+
69
+ - **Performance tuning**, Sidekiq should be 10-15% faster now [#4303, 4299,
70
+ 4269, fatkodima]
71
+ - **Dark Mode support in Web UI** (further design polish welcome!) [#4227, mperham,
72
+ fatkodima, silent-e]
73
+ - **Job-specific log levels**, allowing you to turn on debugging for
74
+ problematic workers. [fatkodima, #4287]
75
+ ```ruby
76
+ MyWorker.set(log_level: :debug).perform_async(...)
77
+ ```
78
+ - **Ad-hoc job tags**. You can tag your jobs with, e.g, subdomain, tenant, country,
79
+ locale, application, version, user/client, "alpha/beta/pro/ent", types of jobs,
80
+ teams/people responsible for jobs, additional metadata, etc.
81
+ Tags are shown on different pages with job listings. Sidekiq Pro users
82
+ can filter based on them [fatkodima, #4280]
83
+ ```ruby
84
+ class MyWorker
85
+ include Sidekiq::Worker
86
+ sidekiq_options tags: ['bank-ops', 'alpha']
87
+ ...
88
+ end
89
+ ```
90
+ - Fetch scheduled jobs in batches before pushing into specific queues.
91
+ This will decrease enqueueing time of scheduled jobs by a third. [fatkodima, #4273]
92
+ ```
93
+ ScheduledSet with 10,000 jobs
94
+ Before: 56.6 seconds
95
+ After: 39.2 seconds
96
+ ```
97
+ - Compress error backtraces before pushing into Redis, if you are
98
+ storing error backtraces, this will halve the size of your RetrySet
99
+ in Redis [fatkodima, #4272]
100
+ ```
101
+ RetrySet with 100,000 jobs
102
+ Before: 261 MB
103
+ After: 129 MB
104
+ ```
105
+ - Support display of ActiveJob 6.0 payloads in the Web UI [#4263]
106
+ - Add `SortedSet#scan` for pattern based scanning. For large sets this API will be **MUCH** faster
107
+ than standard iteration using each. [fatkodima, #4262]
108
+ ```ruby
109
+ Sidekiq::DeadSet.new.scan("UnreliableApi") do |job|
110
+ job.retry
111
+ end
112
+ ```
113
+ - Dramatically speed up SortedSet#find\_job(jid) by using Redis's ZSCAN
114
+ support, approx 10x faster. [fatkodima, #4259]
115
+ ```
116
+ zscan 0.179366 0.047727 0.227093 ( 1.161376)
117
+ enum 8.522311 0.419826 8.942137 ( 9.785079)
118
+ ```
119
+ - Respect rails' generators `test_framework` option and gracefully handle extra `worker` suffix on generator [fatkodima, #4256]
120
+ - Add ability to sort 'Enqueued' page on Web UI by position in the queue [fatkodima, #4248]
121
+ - Support `Client.push_bulk` with different delays [fatkodima, #4243]
122
+ ```ruby
123
+ Sidekiq::Client.push_bulk("class" => FooJob, "args" => [[1], [2]], "at" => [1.minute.from_now.to_f, 5.minutes.from_now.to_f])
124
+ ```
125
+ - Easier way to test enqueuing specific ActionMailer and ActiveRecord delayed jobs. Instead of manually
126
+ parsing embedded class, you can now test by fetching jobs for specific classes. [fatkodima, #4292]
127
+ ```ruby
128
+ assert_equal 1, Sidekiq::Extensions::DelayedMailer.jobs_for(FooMailer).size
129
+ ```
130
+ - Add `sidekiqmon` to gemspec executables [#4242]
131
+ - Gracefully handle `Sidekiq.logger = nil` [#4240]
132
+ - Inject Sidekiq::LogContext module if user-supplied logger does not include it [#4239]
133
+
5
134
  6.0
6
135
  ---------
7
136
 
8
137
  This release has major breaking changes. Read and test carefully in production.
9
138
 
10
- - ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
139
+ - With Rails 6.0.1+, ActiveJobs can now use `sidekiq_options` directly to configure Sidekiq
11
140
  features/internals like the retry subsystem. [#4213, pirj]
12
141
  ```ruby
13
142
  class MyJob < ActiveJob::Base
@@ -17,6 +146,13 @@ class MyJob < ActiveJob::Base
17
146
  end
18
147
  end
19
148
  ```
149
+ - Logging has been redesigned to allow for pluggable log formatters:
150
+ ```ruby
151
+ Sidekiq.configure_server do |config|
152
+ config.log_formatter = Sidekiq::Logger::Formatters::JSON.new
153
+ end
154
+ ```
155
+ See the [Logging wiki page](https://github.com/mperham/sidekiq/wiki/Logging) for more details.
20
156
  - **BREAKING CHANGE** Validate proper usage of the `REDIS_PROVIDER`
21
157
  variable. This variable is meant to hold the name of the environment
22
158
  variable which contains your Redis URL, so that you can switch Redis
@@ -36,6 +172,18 @@ end
36
172
  - Integrate the StandardRB code formatter to ensure consistent code
37
173
  styling. [#4114, gearnode]
38
174
 
175
+ 5.2.9
176
+ ---------
177
+
178
+ - Release Rack lock due to a cascade of CVEs. [#4566]
179
+ Pro-tip: don't lock Rack.
180
+
181
+ 5.2.8
182
+ ---------
183
+
184
+ - Lock to Rack 2.0.x to prevent future incompatibilities
185
+ - Fix invalid reference in `sidekiqctl`
186
+
39
187
  5.2.7
40
188
  ---------
41
189
 
data/Ent-Changes.md CHANGED
@@ -2,12 +2,31 @@
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
- Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
+ Please see [sidekiq.org](https://sidekiq.org) for more details and how to buy.
6
+
7
+ 2.1.0
8
+ -------------
9
+
10
+ - Move historical metrics to use tags rather than interpolating name [#4377]
11
+ ```
12
+ sidekiq.enqueued.#{name} -> sidekiq.queue.size with tag queue:#{name}
13
+ sidekiq.latency.#{name} -> sidekiq.queue.latency with tag queue:#{name}
14
+ ```
15
+ - Remove `concurrent-ruby` gem dependency [#4586]
16
+ - Add systemd `Type=notify` support for swarm [#4511]
17
+ - Length swarm's boot timeout to 60 sec [#4544]
18
+ - Add NL locale
19
+
20
+ 2.0.1
21
+ -------------
22
+
23
+ - Periodic job registration API adjusted to avoid loading classes in initializer [#4271]
24
+ - Remove support for deprecated ENV variables (COUNT, MAXMEM\_MB, INDEX) in swarm code
6
25
 
7
26
  2.0.0
8
27
  -------------
9
28
 
10
- - Except for the [newly required credentials](/mperham/sidekiq/issue/4232), Sidekiq Enterprise 2.0 does
29
+ - Except for the [newly required credentials](https://github.com/mperham/sidekiq/issues/4232), Sidekiq Enterprise 2.0 does
11
30
  not have any significant migration steps.
12
31
  - Sidekiq Enterprise must now be started with valid license credentials. [#4232]
13
32
  - Call `GC.compact` if possible in sidekiqswarm before forking [#4181]
data/Gemfile CHANGED
@@ -4,17 +4,17 @@ gemspec
4
4
 
5
5
  gem "rake"
6
6
  gem "redis-namespace"
7
- gem "rails"
7
+ gem "rails", ">= 6.0.2"
8
8
  gem "sqlite3", platforms: :ruby
9
9
  gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
10
10
 
11
11
  group :test do
12
12
  gem "minitest"
13
13
  gem "simplecov"
14
+ gem "codecov", require: false
14
15
  end
15
16
 
16
17
  group :development, :test do
17
- gem "pry-byebug", platforms: :mri
18
18
  gem "standard"
19
19
  end
20
20
 
data/Gemfile.lock CHANGED
@@ -1,87 +1,95 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sidekiq (6.0.0)
4
+ sidekiq (6.1.0)
5
5
  connection_pool (>= 2.2.2)
6
- rack (>= 2.0.0)
7
- rack-protection (>= 2.0.0)
8
- redis (>= 4.1.0)
6
+ rack (~> 2.0)
7
+ redis (>= 4.2.0)
9
8
 
10
9
  GEM
11
10
  remote: https://rubygems.org/
12
11
  specs:
13
- actioncable (6.0.0)
14
- actionpack (= 6.0.0)
12
+ actioncable (6.0.3.1)
13
+ actionpack (= 6.0.3.1)
15
14
  nio4r (~> 2.0)
16
15
  websocket-driver (>= 0.6.1)
17
- actionmailbox (6.0.0)
18
- actionpack (= 6.0.0)
19
- activejob (= 6.0.0)
20
- activerecord (= 6.0.0)
21
- activestorage (= 6.0.0)
22
- activesupport (= 6.0.0)
16
+ actionmailbox (6.0.3.1)
17
+ actionpack (= 6.0.3.1)
18
+ activejob (= 6.0.3.1)
19
+ activerecord (= 6.0.3.1)
20
+ activestorage (= 6.0.3.1)
21
+ activesupport (= 6.0.3.1)
23
22
  mail (>= 2.7.1)
24
- actionmailer (6.0.0)
25
- actionpack (= 6.0.0)
26
- actionview (= 6.0.0)
27
- activejob (= 6.0.0)
23
+ actionmailer (6.0.3.1)
24
+ actionpack (= 6.0.3.1)
25
+ actionview (= 6.0.3.1)
26
+ activejob (= 6.0.3.1)
28
27
  mail (~> 2.5, >= 2.5.4)
29
28
  rails-dom-testing (~> 2.0)
30
- actionpack (6.0.0)
31
- actionview (= 6.0.0)
32
- activesupport (= 6.0.0)
33
- rack (~> 2.0)
29
+ actionpack (6.0.3.1)
30
+ actionview (= 6.0.3.1)
31
+ activesupport (= 6.0.3.1)
32
+ rack (~> 2.0, >= 2.0.8)
34
33
  rack-test (>= 0.6.3)
35
34
  rails-dom-testing (~> 2.0)
36
35
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
- actiontext (6.0.0)
38
- actionpack (= 6.0.0)
39
- activerecord (= 6.0.0)
40
- activestorage (= 6.0.0)
41
- activesupport (= 6.0.0)
36
+ actiontext (6.0.3.1)
37
+ actionpack (= 6.0.3.1)
38
+ activerecord (= 6.0.3.1)
39
+ activestorage (= 6.0.3.1)
40
+ activesupport (= 6.0.3.1)
42
41
  nokogiri (>= 1.8.5)
43
- actionview (6.0.0)
44
- activesupport (= 6.0.0)
42
+ actionview (6.0.3.1)
43
+ activesupport (= 6.0.3.1)
45
44
  builder (~> 3.1)
46
45
  erubi (~> 1.4)
47
46
  rails-dom-testing (~> 2.0)
48
47
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
- activejob (6.0.0)
50
- activesupport (= 6.0.0)
48
+ activejob (6.0.3.1)
49
+ activesupport (= 6.0.3.1)
51
50
  globalid (>= 0.3.6)
52
- activemodel (6.0.0)
53
- activesupport (= 6.0.0)
54
- activerecord (6.0.0)
55
- activemodel (= 6.0.0)
56
- activesupport (= 6.0.0)
57
- activestorage (6.0.0)
58
- actionpack (= 6.0.0)
59
- activejob (= 6.0.0)
60
- activerecord (= 6.0.0)
51
+ activemodel (6.0.3.1)
52
+ activesupport (= 6.0.3.1)
53
+ activerecord (6.0.3.1)
54
+ activemodel (= 6.0.3.1)
55
+ activesupport (= 6.0.3.1)
56
+ activerecord-jdbc-adapter (60.1-java)
57
+ activerecord (~> 6.0.0)
58
+ activerecord-jdbcsqlite3-adapter (60.1-java)
59
+ activerecord-jdbc-adapter (= 60.1)
60
+ jdbc-sqlite3 (~> 3.8, < 3.30)
61
+ activestorage (6.0.3.1)
62
+ actionpack (= 6.0.3.1)
63
+ activejob (= 6.0.3.1)
64
+ activerecord (= 6.0.3.1)
61
65
  marcel (~> 0.3.1)
62
- activesupport (6.0.0)
66
+ activesupport (6.0.3.1)
63
67
  concurrent-ruby (~> 1.0, >= 1.0.2)
64
68
  i18n (>= 0.7, < 2)
65
69
  minitest (~> 5.1)
66
70
  tzinfo (~> 1.1)
67
- zeitwerk (~> 2.1, >= 2.1.8)
68
- ast (2.4.0)
69
- builder (3.2.3)
70
- byebug (11.0.1)
71
- coderay (1.1.2)
72
- concurrent-ruby (1.1.5)
73
- connection_pool (2.2.2)
74
- crass (1.0.4)
71
+ zeitwerk (~> 2.2, >= 2.2.2)
72
+ ast (2.4.1)
73
+ builder (3.2.4)
74
+ codecov (0.1.17)
75
+ json
76
+ simplecov
77
+ url
78
+ concurrent-ruby (1.1.6)
79
+ connection_pool (2.2.3)
80
+ crass (1.0.6)
75
81
  docile (1.3.2)
76
- erubi (1.8.0)
82
+ erubi (1.9.0)
77
83
  globalid (0.4.2)
78
84
  activesupport (>= 4.2.0)
79
85
  hiredis (0.6.3)
80
- i18n (1.6.0)
86
+ hiredis (0.6.3-java)
87
+ i18n (1.8.2)
81
88
  concurrent-ruby (~> 1.0)
82
- jaro_winkler (1.5.3)
83
- json (2.2.0)
84
- loofah (2.2.3)
89
+ jdbc-sqlite3 (3.28.0)
90
+ json (2.3.0)
91
+ json (2.3.0-java)
92
+ loofah (2.5.0)
85
93
  crass (~> 1.0.2)
86
94
  nokogiri (>= 1.5.9)
87
95
  mail (2.7.1)
@@ -89,104 +97,108 @@ GEM
89
97
  marcel (0.3.3)
90
98
  mimemagic (~> 0.3.2)
91
99
  method_source (0.9.2)
92
- mimemagic (0.3.3)
100
+ mimemagic (0.3.5)
93
101
  mini_mime (1.0.2)
94
102
  mini_portile2 (2.4.0)
95
- minitest (5.11.3)
96
- nio4r (2.5.1)
97
- nokogiri (1.10.4)
103
+ minitest (5.14.1)
104
+ nio4r (2.5.2)
105
+ nio4r (2.5.2-java)
106
+ nokogiri (1.10.9)
98
107
  mini_portile2 (~> 2.4.0)
99
- parallel (1.17.0)
100
- parser (2.6.3.0)
108
+ nokogiri (1.10.9-java)
109
+ parallel (1.19.2)
110
+ parser (2.7.1.3)
101
111
  ast (~> 2.4.0)
102
- pry (0.12.2)
103
- coderay (~> 1.1.0)
104
- method_source (~> 0.9.0)
105
- pry-byebug (3.7.0)
106
- byebug (~> 11.0)
107
- pry (~> 0.10)
108
- rack (2.0.7)
109
- rack-protection (2.0.7)
110
- rack
112
+ rack (2.2.2)
111
113
  rack-test (1.1.0)
112
114
  rack (>= 1.0, < 3)
113
- rails (6.0.0)
114
- actioncable (= 6.0.0)
115
- actionmailbox (= 6.0.0)
116
- actionmailer (= 6.0.0)
117
- actionpack (= 6.0.0)
118
- actiontext (= 6.0.0)
119
- actionview (= 6.0.0)
120
- activejob (= 6.0.0)
121
- activemodel (= 6.0.0)
122
- activerecord (= 6.0.0)
123
- activestorage (= 6.0.0)
124
- activesupport (= 6.0.0)
115
+ rails (6.0.3.1)
116
+ actioncable (= 6.0.3.1)
117
+ actionmailbox (= 6.0.3.1)
118
+ actionmailer (= 6.0.3.1)
119
+ actionpack (= 6.0.3.1)
120
+ actiontext (= 6.0.3.1)
121
+ actionview (= 6.0.3.1)
122
+ activejob (= 6.0.3.1)
123
+ activemodel (= 6.0.3.1)
124
+ activerecord (= 6.0.3.1)
125
+ activestorage (= 6.0.3.1)
126
+ activesupport (= 6.0.3.1)
125
127
  bundler (>= 1.3.0)
126
- railties (= 6.0.0)
128
+ railties (= 6.0.3.1)
127
129
  sprockets-rails (>= 2.0.0)
128
130
  rails-dom-testing (2.0.3)
129
131
  activesupport (>= 4.2.0)
130
132
  nokogiri (>= 1.6)
131
- rails-html-sanitizer (1.2.0)
132
- loofah (~> 2.2, >= 2.2.2)
133
- railties (6.0.0)
134
- actionpack (= 6.0.0)
135
- activesupport (= 6.0.0)
133
+ rails-html-sanitizer (1.3.0)
134
+ loofah (~> 2.3)
135
+ railties (6.0.3.1)
136
+ actionpack (= 6.0.3.1)
137
+ activesupport (= 6.0.3.1)
136
138
  method_source
137
139
  rake (>= 0.8.7)
138
140
  thor (>= 0.20.3, < 2.0)
139
141
  rainbow (3.0.0)
140
- rake (12.3.3)
141
- redis (4.1.2)
142
- redis-namespace (1.6.0)
142
+ rake (13.0.1)
143
+ redis (4.2.0)
144
+ redis-namespace (1.7.0)
143
145
  redis (>= 3.0.4)
144
- rubocop (0.72.0)
145
- jaro_winkler (~> 1.5.1)
146
+ regexp_parser (1.7.1)
147
+ rexml (3.2.4)
148
+ rubocop (0.85.1)
146
149
  parallel (~> 1.10)
147
- parser (>= 2.6)
150
+ parser (>= 2.7.0.1)
148
151
  rainbow (>= 2.2.2, < 4.0)
152
+ regexp_parser (>= 1.7)
153
+ rexml
154
+ rubocop-ast (>= 0.0.3)
149
155
  ruby-progressbar (~> 1.7)
150
- unicode-display_width (>= 1.4.0, < 1.7)
151
- rubocop-performance (1.4.1)
156
+ unicode-display_width (>= 1.4.0, < 2.0)
157
+ rubocop-ast (0.0.3)
158
+ parser (>= 2.7.0.1)
159
+ rubocop-performance (1.6.1)
152
160
  rubocop (>= 0.71.0)
153
161
  ruby-progressbar (1.10.1)
154
- simplecov (0.17.0)
162
+ simplecov (0.18.5)
155
163
  docile (~> 1.1)
156
- json (>= 1.8, < 3)
157
- simplecov-html (~> 0.10.0)
158
- simplecov-html (0.10.2)
159
- sprockets (3.7.2)
164
+ simplecov-html (~> 0.11)
165
+ simplecov-html (0.12.2)
166
+ sprockets (4.0.0)
160
167
  concurrent-ruby (~> 1.0)
161
168
  rack (> 1, < 3)
162
169
  sprockets-rails (3.2.1)
163
170
  actionpack (>= 4.0)
164
171
  activesupport (>= 4.0)
165
172
  sprockets (>= 3.0.0)
166
- sqlite3 (1.4.1)
167
- standard (0.1.2)
168
- rubocop (~> 0.72.0)
169
- rubocop-performance (~> 1.4.0)
170
- thor (0.20.3)
173
+ sqlite3 (1.4.2)
174
+ standard (0.4.7)
175
+ rubocop (~> 0.85.0)
176
+ rubocop-performance (~> 1.6.0)
177
+ thor (1.0.1)
171
178
  thread_safe (0.3.6)
179
+ thread_safe (0.3.6-java)
172
180
  toxiproxy (1.0.3)
173
- tzinfo (1.2.5)
181
+ tzinfo (1.2.7)
174
182
  thread_safe (~> 0.1)
175
- unicode-display_width (1.6.0)
176
- websocket-driver (0.7.1)
183
+ unicode-display_width (1.7.0)
184
+ url (0.3.2)
185
+ websocket-driver (0.7.2)
186
+ websocket-extensions (>= 0.1.0)
187
+ websocket-driver (0.7.2-java)
177
188
  websocket-extensions (>= 0.1.0)
178
189
  websocket-extensions (0.1.4)
179
- zeitwerk (2.1.9)
190
+ zeitwerk (2.3.0)
180
191
 
181
192
  PLATFORMS
193
+ java
182
194
  ruby
183
195
 
184
196
  DEPENDENCIES
185
197
  activerecord-jdbcsqlite3-adapter
198
+ codecov
186
199
  hiredis
187
200
  minitest
188
- pry-byebug
189
- rails
201
+ rails (>= 6.0.2)
190
202
  rake
191
203
  redis-namespace
192
204
  sidekiq!
data/Pro-Changes.md CHANGED
@@ -2,14 +2,36 @@
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
- Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
+ Please see [sidekiq.org](https://sidekiq.org/) for more details and how to buy.
6
+
7
+ 5.1.0
8
+ ---------
9
+
10
+ - Remove old Statsd metrics with `WorkerName` in the name [#4377]
11
+ ```
12
+ job.WorkerName.count -> job.count with tag worker:WorkerName
13
+ job.WorkerName.perform -> job.perform with tag worker:WorkerName
14
+ job.WorkerName.failure -> job.failure with tag worker:WorkerName
15
+ ```
16
+ - Remove `concurrent-ruby` gem dependency [#4586]
17
+ - Update `constantize` for batch callbacks. [#4469]
18
+ - Add queue tag to `jobs.recovered.fetch` metric [#4594]
19
+ - Refactor Pro's fetch infrastructure [#4602]
20
+
21
+ 5.0.1
22
+ ---------
23
+
24
+ - Rejigger batch failures UI to add direct links to retries and scheduled jobs [#4209]
25
+ - Delete batch data with `UNLINK` [#4155]
26
+ - Fix bug where a scheduled job can lose its scheduled time when using reliable push [#4267]
27
+ - Sidekiq::JobSet#scan and #find_job APIs have been promoted to Sidekiq OSS. [#4259]
6
28
 
7
29
  5.0.0
8
30
  ---------
9
31
 
10
32
  - There is no significant migration from Sidekiq Pro 4.0 to 5.0
11
33
  but make sure you read the [update notes for Sidekiq
12
- 6.0](/mperham/sidekiq/blob/master/6.0-Upgrade.md).
34
+ 6.0](https://github.com/mperham/sidekiq/blob/master/6.0-Upgrade.md).
13
35
  - Removed various deprecated APIs and associated warnings.
14
36
  - **BREAKING CHANGE** Remove the `Sidekiq::Batch::Status#dead_jobs` API in favor of
15
37
  `Sidekiq::Batch::Status#dead_jids`. [#4217]
data/README.md CHANGED
@@ -2,10 +2,8 @@ Sidekiq
2
2
  ==============
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/sidekiq.svg)](https://rubygems.org/gems/sidekiq)
5
- [![Code Climate](https://codeclimate.com/github/mperham/sidekiq.svg)](https://codeclimate.com/github/mperham/sidekiq)
5
+ [![Codecov](https://codecov.io/gh/mperham/sidekiq/branch/master/graph/badge.svg)](https://codecov.io/gh/mperham/sidekiq)
6
6
  [![Build Status](https://circleci.com/gh/mperham/sidekiq/tree/master.svg?style=svg)](https://circleci.com/gh/mperham/sidekiq/tree/master)
7
- [![Gitter Chat](https://badges.gitter.im/mperham/sidekiq.svg)](https://gitter.im/mperham/sidekiq)
8
-
9
7
 
10
8
  Simple, efficient background processing for Ruby.
11
9
 
@@ -18,7 +16,8 @@ Performance
18
16
 
19
17
  Version | Latency | Garbage created for 10k jobs | Time to process 100k jobs | Throughput | Ruby
20
18
  -----------------|------|---------|---------|------------------------|-----
21
- Sidekiq 6.0.0 | 3 ms | 156 MB | 19 sec | **5200 jobs/sec** | MRI 2.6.3
19
+ Sidekiq 6.0.2 | 3 ms | 156 MB | 14.0 sec| **7100 jobs/sec** | MRI 2.6.3
20
+ Sidekiq 6.0.0 | 3 ms | 156 MB | 19 sec | 5200 jobs/sec | MRI 2.6.3
22
21
  Sidekiq 4.0.0 | 10 ms | 151 MB | 22 sec | 4500 jobs/sec |
23
22
  Sidekiq 3.5.1 | 22 ms | 1257 MB | 125 sec | 800 jobs/sec |
24
23
  Resque 1.25.2 | - | - | 420 sec | 240 jobs/sec |
@@ -92,4 +91,4 @@ Please see [LICENSE](https://github.com/mperham/sidekiq/blob/master/LICENSE) for
92
91
  Author
93
92
  -----------------
94
93
 
95
- Mike Perham, [@mperham@mastodon.xyz](https://mastodon.xyz/@mperham) / [@sidekiq](https://twitter.com/sidekiq), [https://www.mikeperham.com](https://www.mikeperham.com) / [https://www.contribsys.com](https://www.contribsys.com)
94
+ Mike Perham, [@getajobmike](https://twitter.com/getajobmike) / [@sidekiq](https://twitter.com/sidekiq), [https://www.mikeperham.com](https://www.mikeperham.com) / [https://www.contribsys.com](https://www.contribsys.com)