sidekiq 5.0.0 → 6.0.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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +61 -0
- data/.github/issue_template.md +3 -1
- data/.gitignore +1 -1
- data/.standard.yml +20 -0
- data/6.0-Upgrade.md +70 -0
- data/COMM-LICENSE +12 -10
- data/Changes.md +169 -1
- data/Ent-2.0-Upgrade.md +37 -0
- data/Ent-Changes.md +76 -0
- data/Gemfile +16 -21
- data/Gemfile.lock +196 -0
- data/LICENSE +1 -1
- data/Pro-4.0-Upgrade.md +35 -0
- data/Pro-5.0-Upgrade.md +25 -0
- data/Pro-Changes.md +137 -1
- data/README.md +18 -30
- data/Rakefile +6 -8
- data/bin/sidekiqload +28 -24
- data/bin/sidekiqmon +9 -0
- data/lib/generators/sidekiq/templates/worker_spec.rb.erb +1 -1
- data/lib/generators/sidekiq/templates/worker_test.rb.erb +1 -1
- data/lib/generators/sidekiq/worker_generator.rb +12 -14
- data/lib/sidekiq.rb +69 -49
- data/lib/sidekiq/api.rb +216 -160
- data/lib/sidekiq/cli.rb +174 -207
- data/lib/sidekiq/client.rb +55 -51
- data/lib/sidekiq/delay.rb +24 -4
- data/lib/sidekiq/exception_handler.rb +12 -16
- data/lib/sidekiq/extensions/action_mailer.rb +10 -20
- data/lib/sidekiq/extensions/active_record.rb +9 -7
- data/lib/sidekiq/extensions/class_methods.rb +9 -7
- data/lib/sidekiq/extensions/generic_proxy.rb +4 -4
- data/lib/sidekiq/fetch.rb +5 -6
- data/lib/sidekiq/job_logger.rb +42 -14
- data/lib/sidekiq/job_retry.rb +71 -57
- data/lib/sidekiq/launcher.rb +74 -60
- data/lib/sidekiq/logger.rb +69 -0
- data/lib/sidekiq/manager.rb +12 -15
- data/lib/sidekiq/middleware/chain.rb +3 -2
- data/lib/sidekiq/middleware/i18n.rb +5 -7
- data/lib/sidekiq/monitor.rb +148 -0
- data/lib/sidekiq/paginator.rb +11 -12
- data/lib/sidekiq/processor.rb +126 -82
- data/lib/sidekiq/rails.rb +24 -32
- data/lib/sidekiq/redis_connection.rb +46 -14
- data/lib/sidekiq/scheduled.rb +50 -25
- data/lib/sidekiq/testing.rb +35 -27
- data/lib/sidekiq/testing/inline.rb +2 -1
- data/lib/sidekiq/util.rb +20 -14
- data/lib/sidekiq/version.rb +2 -1
- data/lib/sidekiq/web.rb +45 -53
- data/lib/sidekiq/web/action.rb +14 -10
- data/lib/sidekiq/web/application.rb +83 -58
- data/lib/sidekiq/web/helpers.rb +105 -67
- data/lib/sidekiq/web/router.rb +18 -15
- data/lib/sidekiq/worker.rb +144 -41
- data/sidekiq.gemspec +16 -27
- data/web/assets/javascripts/application.js +0 -0
- data/web/assets/javascripts/dashboard.js +21 -23
- 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 +2 -0
- data/web/locales/es.yml +4 -3
- data/web/locales/ja.yml +7 -4
- data/web/views/_footer.erb +4 -1
- data/web/views/_nav.erb +3 -17
- data/web/views/busy.erb +5 -1
- data/web/views/layout.erb +1 -1
- data/web/views/queue.erb +1 -0
- data/web/views/queues.erb +2 -0
- data/web/views/retries.erb +4 -0
- metadata +25 -171
- data/.travis.yml +0 -18
- data/bin/sidekiqctl +0 -99
- data/lib/sidekiq/core_ext.rb +0 -119
- data/lib/sidekiq/logging.rb +0 -106
- data/lib/sidekiq/middleware/server/active_record.rb +0 -22
data/Ent-Changes.md
CHANGED
@@ -4,6 +4,82 @@
|
|
4
4
|
|
5
5
|
Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
|
6
6
|
|
7
|
+
2.0.0
|
8
|
+
-------------
|
9
|
+
|
10
|
+
- Except for the [newly required credentials](/mperham/sidekiq/issue/4232), Sidekiq Enterprise 2.0 does
|
11
|
+
not have any significant migration steps.
|
12
|
+
- Sidekiq Enterprise must now be started with valid license credentials. [#4232]
|
13
|
+
- Call `GC.compact` if possible in sidekiqswarm before forking [#4181]
|
14
|
+
- Changes for forward-compatibility with Sidekiq 6.0.
|
15
|
+
- Add death handler to remove any lingering unique locks [#4162]
|
16
|
+
- Backoff can now be customized per rate limiter [#4219]
|
17
|
+
- Code formatting changes for StandardRB
|
18
|
+
|
19
|
+
1.8.1
|
20
|
+
-------------
|
21
|
+
|
22
|
+
- Fix excessive lock reclaims with concurrent limiter [#4105]
|
23
|
+
- Add ES translations, see issues [#3949](https://github.com/mperham/sidekiq/issues/3949) and [#3951](https://github.com/mperham/sidekiq/issues/3951) to add your own language.
|
24
|
+
|
25
|
+
1.8.0
|
26
|
+
-------------
|
27
|
+
|
28
|
+
- Require Sidekiq Pro 4.0 and Sidekiq 5.2.
|
29
|
+
- Refactor historical metrics API to use revamped Statsd support in Sidekiq Pro
|
30
|
+
- Add a gauge to historical metrics for `default` queue latency [#4079]
|
31
|
+
|
32
|
+
1.7.2
|
33
|
+
-------------
|
34
|
+
|
35
|
+
- Add PT and JA translations
|
36
|
+
- Fix elapsed time calculations to use monotonic clock [#4000, sj26]
|
37
|
+
- Fix edge case where flapping leadership would cause old periodic
|
38
|
+
jobs to be fired once [#3974]
|
39
|
+
- Add support for sidekiqswarm memory monitoring on FreeBSD [#3884]
|
40
|
+
|
41
|
+
1.7.1
|
42
|
+
-------------
|
43
|
+
|
44
|
+
- Fix Lua error in concurrent rate limiter under heavy contention
|
45
|
+
- Remove superfluous `freeze` calls on Strings [#3759]
|
46
|
+
|
47
|
+
1.7.0
|
48
|
+
-------------
|
49
|
+
|
50
|
+
- **NEW FEATURE** [Rolling restarts](https://github.com/mperham/sidekiq/wiki/Ent-Rolling-Restarts) - great for long running jobs!
|
51
|
+
- Adjust middleware so unique jobs that don't push aren't registered in a Batch [#3662]
|
52
|
+
- Add new unlimited rate limiter, useful for testing [#3743]
|
53
|
+
```ruby
|
54
|
+
limiter = Sidekiq::Limiter.unlimited(...any args...)
|
55
|
+
```
|
56
|
+
|
57
|
+
1.6.1
|
58
|
+
-------------
|
59
|
+
|
60
|
+
- Fix crash in rate limiter middleware when used with custom exceptions [#3604]
|
61
|
+
|
62
|
+
1.6.0
|
63
|
+
-------------
|
64
|
+
|
65
|
+
- Show process "leader" tag on Busy page, requires Sidekiq 5.0.2 [#2867]
|
66
|
+
- Capture custom metrics with the `save_history` API. [#2815]
|
67
|
+
- Implement new `unique_until: 'start'` policy option. [#3471]
|
68
|
+
|
69
|
+
1.5.4
|
70
|
+
-------------
|
71
|
+
|
72
|
+
- Fix broken Cron page in Web UI [#3458]
|
73
|
+
|
74
|
+
1.5.3
|
75
|
+
-------------
|
76
|
+
|
77
|
+
- Remove dependency on the algorithms gem [#3446]
|
78
|
+
- Allow user to specify max memory in megabytes with SIDEKIQ\_MAXMEM\_MB [#3451]
|
79
|
+
- Implement logic to detect app startup failure, sidekiqswarm will exit
|
80
|
+
rather than try to restart the app forever [#3450]
|
81
|
+
- Another fix for doubly-encrypted arguments [#3368]
|
82
|
+
|
7
83
|
1.5.2
|
8
84
|
-------------
|
9
85
|
|
data/Gemfile
CHANGED
@@ -1,29 +1,24 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
2
3
|
gemspec
|
3
4
|
|
4
|
-
gem
|
5
|
-
gem "
|
6
|
-
gem
|
7
|
-
gem
|
8
|
-
|
9
|
-
gem 'toxiproxy'
|
5
|
+
gem "rake"
|
6
|
+
gem "redis-namespace"
|
7
|
+
gem "rails"
|
8
|
+
gem "sqlite3", platforms: :ruby
|
9
|
+
gem "activerecord-jdbcsqlite3-adapter", platforms: :jruby
|
10
10
|
|
11
|
-
|
12
|
-
gem
|
13
|
-
gem
|
14
|
-
gem 'rubinius-developer_tools' # if using any of coverage, debugger, profiler
|
11
|
+
group :test do
|
12
|
+
gem "minitest"
|
13
|
+
gem "simplecov"
|
15
14
|
end
|
16
15
|
|
17
|
-
|
18
|
-
gem
|
16
|
+
group :development, :test do
|
17
|
+
gem "pry-byebug", platforms: :mri
|
18
|
+
gem "standard"
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
gem
|
23
|
-
gem
|
21
|
+
group :load_test do
|
22
|
+
gem "hiredis"
|
23
|
+
gem "toxiproxy"
|
24
24
|
end
|
25
|
-
|
26
|
-
#platforms :jruby do
|
27
|
-
#gem 'jruby-openssl'
|
28
|
-
#gem 'activerecord-jdbcsqlite3-adapter'
|
29
|
-
#end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,196 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
sidekiq (6.0.0)
|
5
|
+
connection_pool (>= 2.2.2)
|
6
|
+
rack (>= 2.0.0)
|
7
|
+
rack-protection (>= 2.0.0)
|
8
|
+
redis (>= 4.1.0)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
actioncable (6.0.0)
|
14
|
+
actionpack (= 6.0.0)
|
15
|
+
nio4r (~> 2.0)
|
16
|
+
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)
|
23
|
+
mail (>= 2.7.1)
|
24
|
+
actionmailer (6.0.0)
|
25
|
+
actionpack (= 6.0.0)
|
26
|
+
actionview (= 6.0.0)
|
27
|
+
activejob (= 6.0.0)
|
28
|
+
mail (~> 2.5, >= 2.5.4)
|
29
|
+
rails-dom-testing (~> 2.0)
|
30
|
+
actionpack (6.0.0)
|
31
|
+
actionview (= 6.0.0)
|
32
|
+
activesupport (= 6.0.0)
|
33
|
+
rack (~> 2.0)
|
34
|
+
rack-test (>= 0.6.3)
|
35
|
+
rails-dom-testing (~> 2.0)
|
36
|
+
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)
|
42
|
+
nokogiri (>= 1.8.5)
|
43
|
+
actionview (6.0.0)
|
44
|
+
activesupport (= 6.0.0)
|
45
|
+
builder (~> 3.1)
|
46
|
+
erubi (~> 1.4)
|
47
|
+
rails-dom-testing (~> 2.0)
|
48
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
49
|
+
activejob (6.0.0)
|
50
|
+
activesupport (= 6.0.0)
|
51
|
+
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)
|
61
|
+
marcel (~> 0.3.1)
|
62
|
+
activesupport (6.0.0)
|
63
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
64
|
+
i18n (>= 0.7, < 2)
|
65
|
+
minitest (~> 5.1)
|
66
|
+
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)
|
75
|
+
docile (1.3.2)
|
76
|
+
erubi (1.8.0)
|
77
|
+
globalid (0.4.2)
|
78
|
+
activesupport (>= 4.2.0)
|
79
|
+
hiredis (0.6.3)
|
80
|
+
i18n (1.6.0)
|
81
|
+
concurrent-ruby (~> 1.0)
|
82
|
+
jaro_winkler (1.5.3)
|
83
|
+
json (2.2.0)
|
84
|
+
loofah (2.2.3)
|
85
|
+
crass (~> 1.0.2)
|
86
|
+
nokogiri (>= 1.5.9)
|
87
|
+
mail (2.7.1)
|
88
|
+
mini_mime (>= 0.1.1)
|
89
|
+
marcel (0.3.3)
|
90
|
+
mimemagic (~> 0.3.2)
|
91
|
+
method_source (0.9.2)
|
92
|
+
mimemagic (0.3.3)
|
93
|
+
mini_mime (1.0.2)
|
94
|
+
mini_portile2 (2.4.0)
|
95
|
+
minitest (5.11.3)
|
96
|
+
nio4r (2.5.1)
|
97
|
+
nokogiri (1.10.4)
|
98
|
+
mini_portile2 (~> 2.4.0)
|
99
|
+
parallel (1.17.0)
|
100
|
+
parser (2.6.3.0)
|
101
|
+
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
|
111
|
+
rack-test (1.1.0)
|
112
|
+
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)
|
125
|
+
bundler (>= 1.3.0)
|
126
|
+
railties (= 6.0.0)
|
127
|
+
sprockets-rails (>= 2.0.0)
|
128
|
+
rails-dom-testing (2.0.3)
|
129
|
+
activesupport (>= 4.2.0)
|
130
|
+
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)
|
136
|
+
method_source
|
137
|
+
rake (>= 0.8.7)
|
138
|
+
thor (>= 0.20.3, < 2.0)
|
139
|
+
rainbow (3.0.0)
|
140
|
+
rake (12.3.3)
|
141
|
+
redis (4.1.2)
|
142
|
+
redis-namespace (1.6.0)
|
143
|
+
redis (>= 3.0.4)
|
144
|
+
rubocop (0.72.0)
|
145
|
+
jaro_winkler (~> 1.5.1)
|
146
|
+
parallel (~> 1.10)
|
147
|
+
parser (>= 2.6)
|
148
|
+
rainbow (>= 2.2.2, < 4.0)
|
149
|
+
ruby-progressbar (~> 1.7)
|
150
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
151
|
+
rubocop-performance (1.4.1)
|
152
|
+
rubocop (>= 0.71.0)
|
153
|
+
ruby-progressbar (1.10.1)
|
154
|
+
simplecov (0.17.0)
|
155
|
+
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)
|
160
|
+
concurrent-ruby (~> 1.0)
|
161
|
+
rack (> 1, < 3)
|
162
|
+
sprockets-rails (3.2.1)
|
163
|
+
actionpack (>= 4.0)
|
164
|
+
activesupport (>= 4.0)
|
165
|
+
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)
|
171
|
+
thread_safe (0.3.6)
|
172
|
+
toxiproxy (1.0.3)
|
173
|
+
tzinfo (1.2.5)
|
174
|
+
thread_safe (~> 0.1)
|
175
|
+
unicode-display_width (1.6.0)
|
176
|
+
websocket-driver (0.7.1)
|
177
|
+
websocket-extensions (>= 0.1.0)
|
178
|
+
websocket-extensions (0.1.4)
|
179
|
+
zeitwerk (2.1.9)
|
180
|
+
|
181
|
+
PLATFORMS
|
182
|
+
ruby
|
183
|
+
|
184
|
+
DEPENDENCIES
|
185
|
+
activerecord-jdbcsqlite3-adapter
|
186
|
+
hiredis
|
187
|
+
minitest
|
188
|
+
pry-byebug
|
189
|
+
rails
|
190
|
+
rake
|
191
|
+
redis-namespace
|
192
|
+
sidekiq!
|
193
|
+
simplecov
|
194
|
+
sqlite3
|
195
|
+
standard
|
196
|
+
toxiproxy
|
data/LICENSE
CHANGED
@@ -5,5 +5,5 @@ the LGPLv3 license. Please see
|
|
5
5
|
for license text.
|
6
6
|
|
7
7
|
Sidekiq Pro has a commercial-friendly license allowing private forks
|
8
|
-
and modifications of Sidekiq. Please see
|
8
|
+
and modifications of Sidekiq. Please see https://sidekiq.org/products/pro.html for
|
9
9
|
more detail. You can find the commercial license terms in COMM-LICENSE.
|
data/Pro-4.0-Upgrade.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Welcome to Sidekiq Pro 4.0!
|
2
|
+
|
3
|
+
Sidekiq Pro 4.0 is designed to work with Sidekiq 5.0.
|
4
|
+
|
5
|
+
## What's New
|
6
|
+
|
7
|
+
* Batches now "die" if any of their jobs die. You can enumerate the set
|
8
|
+
of dead batches and their associated dead jobs. The success callback
|
9
|
+
for a dead batch will never fire unless these jobs are fixed.
|
10
|
+
```ruby
|
11
|
+
Sidekiq::Batch::DeadSet.new.each do |status|
|
12
|
+
status.dead? # => true
|
13
|
+
status.dead_jobs # => [...]
|
14
|
+
end
|
15
|
+
```
|
16
|
+
This API allows you to enumerate the batches which need help.
|
17
|
+
If you fix the issue and the dead jobs succeed, the batch will succeed.
|
18
|
+
* The older `reliable_fetch` and `timed_fetch` algorithms have been
|
19
|
+
removed. Only super\_fetch is available in 4.0.
|
20
|
+
* The statsd middleware has been tweaked to remove support for legacy,
|
21
|
+
pre-3.6.0 configuration and add relevant tags.
|
22
|
+
* Requires Sidekiq 5.0.5+.
|
23
|
+
|
24
|
+
## Upgrade
|
25
|
+
|
26
|
+
* Upgrade to the latest Sidekiq Pro 3.x.
|
27
|
+
```ruby
|
28
|
+
gem 'sidekiq-pro', '< 4'
|
29
|
+
```
|
30
|
+
* Fix any deprecation warnings you see.
|
31
|
+
* Upgrade to 4.x.
|
32
|
+
```ruby
|
33
|
+
gem 'sidekiq-pro', '< 5'
|
34
|
+
```
|
35
|
+
|
data/Pro-5.0-Upgrade.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Welcome to Sidekiq Pro 5.0!
|
2
|
+
|
3
|
+
Sidekiq Pro 5.0 is mainly a cleanup release for Sidekiq 6.0. The
|
4
|
+
migration should be as close to trivial as a major version bump can be.
|
5
|
+
Note that Sidekiq 6.0 does have major breaking changes.
|
6
|
+
|
7
|
+
## What's New
|
8
|
+
|
9
|
+
* New localizations for the Sidekiq Pro Web UI: ES, ZH, PT, JA, RU
|
10
|
+
* Removed deprecated APIs and warnings.
|
11
|
+
* Various changes for Sidekiq 6.0
|
12
|
+
* Requires Ruby 2.5+ and Redis 4.0+
|
13
|
+
* Requires Sidekiq 6.0+.
|
14
|
+
|
15
|
+
## Upgrade
|
16
|
+
|
17
|
+
* Upgrade to the latest Sidekiq Pro 4.x.
|
18
|
+
```ruby
|
19
|
+
gem 'sidekiq-pro', '< 5'
|
20
|
+
```
|
21
|
+
* Fix any deprecation warnings you see.
|
22
|
+
* Upgrade to 5.x.
|
23
|
+
```ruby
|
24
|
+
gem 'sidekiq-pro', '< 6'
|
25
|
+
```
|
data/Pro-Changes.md
CHANGED
@@ -4,9 +4,145 @@
|
|
4
4
|
|
5
5
|
Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
|
6
6
|
|
7
|
-
|
7
|
+
5.0.0
|
8
8
|
---------
|
9
9
|
|
10
|
+
- There is no significant migration from Sidekiq Pro 4.0 to 5.0
|
11
|
+
but make sure you read the [update notes for Sidekiq
|
12
|
+
6.0](/mperham/sidekiq/blob/master/6.0-Upgrade.md).
|
13
|
+
- Removed various deprecated APIs and associated warnings.
|
14
|
+
- **BREAKING CHANGE** Remove the `Sidekiq::Batch::Status#dead_jobs` API in favor of
|
15
|
+
`Sidekiq::Batch::Status#dead_jids`. [#4217]
|
16
|
+
- Update Sidekiq Pro codebase to use StandardRB formatting
|
17
|
+
- Fix lingering "b-XXX-died" elements in Redis which could cause
|
18
|
+
excessive memory usage. [#4217]
|
19
|
+
- Add ES translations, see issues [#3949](https://github.com/mperham/sidekiq/issues/3949) and [#3951](https://github.com/mperham/sidekiq/issues/3951) to add your own language.
|
20
|
+
|
21
|
+
4.0.5
|
22
|
+
---------
|
23
|
+
|
24
|
+
- Increase super\_fetch retriever thread count from 1 to 2 to make it
|
25
|
+
less sensitive to Redis latency.
|
26
|
+
- Better handling of invalid job JSON by reliable scheduler [#4053]
|
27
|
+
- Added ZH, PT, JA and RU translations.
|
28
|
+
|
29
|
+
4.0.4
|
30
|
+
---------
|
31
|
+
|
32
|
+
- Update Sidekiq::Client patches to work with new Module#prepend
|
33
|
+
mechanism in Sidekiq 5.2.0. [#3930]
|
34
|
+
|
35
|
+
4.0.3
|
36
|
+
---------
|
37
|
+
|
38
|
+
- Add at\_exit handler to push any saved jobs in `reliable_push` when exiting. [#3823]
|
39
|
+
- Implement batch death callback. This is fired the first time a job within a batch dies. [#3841]
|
40
|
+
```ruby
|
41
|
+
batch = Sidekiq::Batch.new
|
42
|
+
batch.on(:death, ...)
|
43
|
+
```
|
44
|
+
|
45
|
+
4.0.2
|
46
|
+
---------
|
47
|
+
|
48
|
+
- Remove super\_fetch edge case leading to an unnecessary `sleep(1)`
|
49
|
+
call and resulting latency [#3790]
|
50
|
+
- Fix possible bad statsd metric call on super\_fetch startup
|
51
|
+
- Remove superfluous `freeze` calls on Strings [#3759]
|
52
|
+
|
53
|
+
4.0.1
|
54
|
+
---------
|
55
|
+
|
56
|
+
- Fix incompatibility with the statsd-ruby gem [#3740]
|
57
|
+
- Add tags to Statsd metrics when using Datadog [#3744]
|
58
|
+
|
59
|
+
4.0.0
|
60
|
+
---------
|
61
|
+
|
62
|
+
- See the [Sidekiq Pro 4.0](Pro-4.0-Upgrade.md) release notes.
|
63
|
+
|
64
|
+
|
65
|
+
3.7.1
|
66
|
+
---------
|
67
|
+
|
68
|
+
- Deprecate timed\_fetch. Switch to super\_fetch:
|
69
|
+
```ruby
|
70
|
+
config.super_fetch!
|
71
|
+
```
|
72
|
+
|
73
|
+
|
74
|
+
3.7.0
|
75
|
+
---------
|
76
|
+
|
77
|
+
- Refactor batch job success/failure to gracefully handle several edge
|
78
|
+
cases with regard to Sidekiq::Shutdown. This should greatly reduce
|
79
|
+
the chances of seeing the long-standing "negative pending count" problem. [#3710]
|
80
|
+
|
81
|
+
|
82
|
+
3.6.1
|
83
|
+
---------
|
84
|
+
|
85
|
+
- Add support for Datadog::Statsd, it is the recommended Statsd client. [#3699]
|
86
|
+
```ruby
|
87
|
+
Sidekiq::Pro.dogstatsd = ->{ Datadog::Statsd.new("metrics.example.com", 8125) }
|
88
|
+
```
|
89
|
+
- Size the statsd connection pool based on Sidekiq's concurrency [#3700]
|
90
|
+
|
91
|
+
|
92
|
+
3.6.0
|
93
|
+
---------
|
94
|
+
|
95
|
+
This release overhauls the Statsd metrics support and adds more
|
96
|
+
metrics for tracking Pro feature usage. In your initializer:
|
97
|
+
```ruby
|
98
|
+
Sidekiq::Pro.statsd = ->{ ::Statsd.new("127.0.0.1", 8125) }
|
99
|
+
```
|
100
|
+
Sidekiq Pro will emit more metrics to Statsd:
|
101
|
+
```
|
102
|
+
jobs.expired - when a job is expired
|
103
|
+
jobs.recovered.push - when a job is recovered by reliable_push after network outage
|
104
|
+
jobs.recovered.fetch - when a job is recovered by super_fetch after process crash
|
105
|
+
batch.created - when a batch is created
|
106
|
+
batch.complete - when a batch is completed
|
107
|
+
batch.success - when a batch is successful
|
108
|
+
```
|
109
|
+
Sidekiq Pro's existing Statsd middleware has been rewritten to leverage the new API.
|
110
|
+
Everything should be backwards compatible with one deprecation notice.
|
111
|
+
|
112
|
+
|
113
|
+
3.5.4
|
114
|
+
---------
|
115
|
+
|
116
|
+
- Fix case in SuperFetch where Redis downtime can lead to processor thread death [#3684]
|
117
|
+
- Fix case where TimedFetch might not recover some pending jobs
|
118
|
+
- Fix edge case in Batch::Status#poll leading to premature completion [#3640]
|
119
|
+
- Adjust scan API to check 100 elements at a time, to minimize network round trips
|
120
|
+
when scanning large sets.
|
121
|
+
|
122
|
+
3.5.3
|
123
|
+
---------
|
124
|
+
|
125
|
+
- Restore error check for super\_fetch's job ack [#3601]
|
126
|
+
- Trim error messages saved in Batch's failure hash, preventing huge
|
127
|
+
messages from bloating Redis. [#3570]
|
128
|
+
|
129
|
+
3.5.2
|
130
|
+
---------
|
131
|
+
|
132
|
+
- Fix `Status#completed?` when run against a Batch that had succeeded
|
133
|
+
and was deleted. [#3519]
|
134
|
+
|
135
|
+
3.5.1
|
136
|
+
---------
|
137
|
+
|
138
|
+
- Work with Sidekiq 5.0.2+
|
139
|
+
- Improve performance of super\_fetch with weighted queues [#3489]
|
140
|
+
|
141
|
+
3.5.0
|
142
|
+
---------
|
143
|
+
|
144
|
+
- Add queue pause/unpause endpoints for scripting via curl [#3445]
|
145
|
+
- Change how super\_fetch names private queues to avoid hostname/queue clashes. [#3443]
|
10
146
|
- Re-implement `Sidekiq::Queue#delete_job` to avoid O(n) runtime [#3408]
|
11
147
|
- Batch page displays Pending JIDs if less than 10 [#3130]
|
12
148
|
- Batch page has a Search button to find associated Retries [#3130]
|