sidekiq 5.2.10 → 6.5.6
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/Changes.md +391 -1
- data/LICENSE +3 -3
- data/README.md +24 -35
- data/bin/sidekiq +27 -3
- data/bin/sidekiqload +79 -67
- data/bin/sidekiqmon +8 -0
- data/lib/generators/sidekiq/job_generator.rb +57 -0
- data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
- data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
- data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
- data/lib/sidekiq/api.rb +504 -307
- data/lib/sidekiq/cli.rb +190 -206
- data/lib/sidekiq/client.rb +77 -81
- data/lib/sidekiq/component.rb +65 -0
- data/lib/sidekiq/delay.rb +8 -7
- data/lib/sidekiq/extensions/action_mailer.rb +13 -22
- data/lib/sidekiq/extensions/active_record.rb +13 -10
- data/lib/sidekiq/extensions/class_methods.rb +14 -11
- data/lib/sidekiq/extensions/generic_proxy.rb +7 -5
- data/lib/sidekiq/fetch.rb +50 -40
- data/lib/sidekiq/job.rb +13 -0
- data/lib/sidekiq/job_logger.rb +33 -7
- data/lib/sidekiq/job_retry.rb +126 -106
- data/lib/sidekiq/job_util.rb +71 -0
- data/lib/sidekiq/launcher.rb +177 -83
- data/lib/sidekiq/logger.rb +156 -0
- data/lib/sidekiq/manager.rb +40 -41
- data/lib/sidekiq/metrics/deploy.rb +47 -0
- data/lib/sidekiq/metrics/query.rb +153 -0
- data/lib/sidekiq/metrics/shared.rb +94 -0
- data/lib/sidekiq/metrics/tracking.rb +134 -0
- data/lib/sidekiq/middleware/chain.rb +102 -46
- data/lib/sidekiq/middleware/current_attributes.rb +63 -0
- data/lib/sidekiq/middleware/i18n.rb +7 -7
- data/lib/sidekiq/middleware/modules.rb +21 -0
- data/lib/sidekiq/monitor.rb +133 -0
- data/lib/sidekiq/paginator.rb +20 -16
- data/lib/sidekiq/processor.rb +104 -97
- data/lib/sidekiq/rails.rb +47 -37
- data/lib/sidekiq/redis_client_adapter.rb +154 -0
- data/lib/sidekiq/redis_connection.rb +108 -77
- data/lib/sidekiq/ring_buffer.rb +29 -0
- data/lib/sidekiq/scheduled.rb +64 -35
- data/lib/sidekiq/sd_notify.rb +149 -0
- data/lib/sidekiq/systemd.rb +24 -0
- data/lib/sidekiq/testing/inline.rb +6 -5
- data/lib/sidekiq/testing.rb +68 -58
- data/lib/sidekiq/transaction_aware_client.rb +45 -0
- data/lib/sidekiq/version.rb +2 -1
- data/lib/sidekiq/web/action.rb +15 -11
- data/lib/sidekiq/web/application.rb +100 -77
- data/lib/sidekiq/web/csrf_protection.rb +180 -0
- data/lib/sidekiq/web/helpers.rb +134 -94
- data/lib/sidekiq/web/router.rb +23 -19
- data/lib/sidekiq/web.rb +65 -105
- data/lib/sidekiq/worker.rb +253 -106
- data/lib/sidekiq.rb +170 -62
- data/sidekiq.gemspec +23 -16
- data/web/assets/images/apple-touch-icon.png +0 -0
- data/web/assets/javascripts/application.js +112 -61
- data/web/assets/javascripts/chart.min.js +13 -0
- data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
- data/web/assets/javascripts/dashboard.js +53 -89
- data/web/assets/javascripts/graph.js +16 -0
- data/web/assets/javascripts/metrics.js +262 -0
- data/web/assets/stylesheets/application-dark.css +143 -0
- data/web/assets/stylesheets/application-rtl.css +0 -4
- data/web/assets/stylesheets/application.css +88 -233
- data/web/locales/ar.yml +8 -2
- data/web/locales/de.yml +14 -2
- data/web/locales/el.yml +43 -19
- data/web/locales/en.yml +13 -1
- data/web/locales/es.yml +18 -2
- data/web/locales/fr.yml +10 -3
- data/web/locales/ja.yml +7 -1
- data/web/locales/lt.yml +83 -0
- data/web/locales/pl.yml +4 -4
- data/web/locales/pt-br.yml +27 -9
- data/web/locales/ru.yml +4 -0
- data/web/locales/vi.yml +83 -0
- data/web/views/_footer.erb +1 -1
- data/web/views/_job_info.erb +3 -2
- data/web/views/_nav.erb +1 -1
- data/web/views/_poll_link.erb +2 -5
- data/web/views/_summary.erb +7 -7
- data/web/views/busy.erb +56 -22
- data/web/views/dashboard.erb +23 -14
- data/web/views/dead.erb +3 -3
- data/web/views/layout.erb +3 -1
- data/web/views/metrics.erb +69 -0
- data/web/views/metrics_for_job.erb +87 -0
- data/web/views/morgue.erb +9 -6
- data/web/views/queue.erb +23 -10
- data/web/views/queues.erb +10 -2
- data/web/views/retries.erb +11 -8
- data/web/views/retry.erb +3 -3
- data/web/views/scheduled.erb +5 -2
- metadata +53 -64
- data/.circleci/config.yml +0 -61
- data/.github/contributing.md +0 -32
- data/.github/issue_template.md +0 -11
- data/.gitignore +0 -15
- data/.travis.yml +0 -11
- data/3.0-Upgrade.md +0 -70
- data/4.0-Upgrade.md +0 -53
- data/5.0-Upgrade.md +0 -56
- data/COMM-LICENSE +0 -97
- data/Ent-Changes.md +0 -238
- data/Gemfile +0 -19
- data/Pro-2.0-Upgrade.md +0 -138
- data/Pro-3.0-Upgrade.md +0 -44
- data/Pro-4.0-Upgrade.md +0 -35
- data/Pro-Changes.md +0 -759
- data/Rakefile +0 -9
- data/bin/sidekiqctl +0 -20
- data/code_of_conduct.md +0 -50
- data/lib/generators/sidekiq/worker_generator.rb +0 -49
- data/lib/sidekiq/core_ext.rb +0 -1
- data/lib/sidekiq/ctl.rb +0 -221
- data/lib/sidekiq/exception_handler.rb +0 -29
- data/lib/sidekiq/logging.rb +0 -122
- data/lib/sidekiq/middleware/server/active_record.rb +0 -23
- data/lib/sidekiq/util.rb +0 -66
data/web/views/scheduled.erb
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
<form action="<%= root_path %>scheduled" method="post">
|
16
16
|
<%= csrf_tag %>
|
17
17
|
<div class="table_container">
|
18
|
-
<table class="table table-striped table-bordered table-
|
18
|
+
<table class="table table-striped table-bordered table-hover">
|
19
19
|
<thead>
|
20
20
|
<tr>
|
21
21
|
<th class="checkbox-column">
|
@@ -38,7 +38,10 @@
|
|
38
38
|
<td>
|
39
39
|
<a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
|
40
40
|
</td>
|
41
|
-
<td
|
41
|
+
<td>
|
42
|
+
<%= entry.display_class %>
|
43
|
+
<%= display_tags(entry, "scheduled") %>
|
44
|
+
</td>
|
42
45
|
<td>
|
43
46
|
<div class="args"><%= display_args(entry.display_args) %></div>
|
44
47
|
</td>
|
metadata
CHANGED
@@ -1,55 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 6.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Perham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-29 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:
|
19
|
+
version: '5'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 4.5.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '4.5'
|
30
27
|
- - "<"
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
29
|
+
version: '5'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 4.5.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: connection_pool
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '2.2'
|
40
37
|
- - ">="
|
41
38
|
- !ruby/object:Gem::Version
|
42
|
-
version: 2.2.
|
39
|
+
version: 2.2.5
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '2.2'
|
50
44
|
- - ">="
|
51
45
|
- !ruby/object:Gem::Version
|
52
|
-
version: 2.2.
|
46
|
+
version: 2.2.5
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: rack
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,98 +58,84 @@ dependencies:
|
|
64
58
|
- - "~>"
|
65
59
|
- !ruby/object:Gem::Version
|
66
60
|
version: '2.0'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: rack-protection
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 1.5.0
|
74
|
-
type: :runtime
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 1.5.0
|
81
61
|
description: Simple, efficient background processing for Ruby.
|
82
62
|
email:
|
83
63
|
- mperham@gmail.com
|
84
64
|
executables:
|
85
65
|
- sidekiq
|
86
|
-
-
|
66
|
+
- sidekiqmon
|
87
67
|
extensions: []
|
88
68
|
extra_rdoc_files: []
|
89
69
|
files:
|
90
|
-
- ".circleci/config.yml"
|
91
|
-
- ".github/contributing.md"
|
92
|
-
- ".github/issue_template.md"
|
93
|
-
- ".gitignore"
|
94
|
-
- ".travis.yml"
|
95
|
-
- 3.0-Upgrade.md
|
96
|
-
- 4.0-Upgrade.md
|
97
|
-
- 5.0-Upgrade.md
|
98
|
-
- COMM-LICENSE
|
99
70
|
- Changes.md
|
100
|
-
- Ent-Changes.md
|
101
|
-
- Gemfile
|
102
71
|
- LICENSE
|
103
|
-
- Pro-2.0-Upgrade.md
|
104
|
-
- Pro-3.0-Upgrade.md
|
105
|
-
- Pro-4.0-Upgrade.md
|
106
|
-
- Pro-Changes.md
|
107
72
|
- README.md
|
108
|
-
- Rakefile
|
109
73
|
- bin/sidekiq
|
110
|
-
- bin/sidekiqctl
|
111
74
|
- bin/sidekiqload
|
112
|
-
-
|
113
|
-
- lib/generators/sidekiq/
|
114
|
-
- lib/generators/sidekiq/templates/
|
115
|
-
- lib/generators/sidekiq/templates/
|
116
|
-
- lib/generators/sidekiq/
|
75
|
+
- bin/sidekiqmon
|
76
|
+
- lib/generators/sidekiq/job_generator.rb
|
77
|
+
- lib/generators/sidekiq/templates/job.rb.erb
|
78
|
+
- lib/generators/sidekiq/templates/job_spec.rb.erb
|
79
|
+
- lib/generators/sidekiq/templates/job_test.rb.erb
|
117
80
|
- lib/sidekiq.rb
|
118
81
|
- lib/sidekiq/api.rb
|
119
82
|
- lib/sidekiq/cli.rb
|
120
83
|
- lib/sidekiq/client.rb
|
121
|
-
- lib/sidekiq/
|
122
|
-
- lib/sidekiq/ctl.rb
|
84
|
+
- lib/sidekiq/component.rb
|
123
85
|
- lib/sidekiq/delay.rb
|
124
|
-
- lib/sidekiq/exception_handler.rb
|
125
86
|
- lib/sidekiq/extensions/action_mailer.rb
|
126
87
|
- lib/sidekiq/extensions/active_record.rb
|
127
88
|
- lib/sidekiq/extensions/class_methods.rb
|
128
89
|
- lib/sidekiq/extensions/generic_proxy.rb
|
129
90
|
- lib/sidekiq/fetch.rb
|
91
|
+
- lib/sidekiq/job.rb
|
130
92
|
- lib/sidekiq/job_logger.rb
|
131
93
|
- lib/sidekiq/job_retry.rb
|
94
|
+
- lib/sidekiq/job_util.rb
|
132
95
|
- lib/sidekiq/launcher.rb
|
133
|
-
- lib/sidekiq/
|
96
|
+
- lib/sidekiq/logger.rb
|
134
97
|
- lib/sidekiq/manager.rb
|
98
|
+
- lib/sidekiq/metrics/deploy.rb
|
99
|
+
- lib/sidekiq/metrics/query.rb
|
100
|
+
- lib/sidekiq/metrics/shared.rb
|
101
|
+
- lib/sidekiq/metrics/tracking.rb
|
135
102
|
- lib/sidekiq/middleware/chain.rb
|
103
|
+
- lib/sidekiq/middleware/current_attributes.rb
|
136
104
|
- lib/sidekiq/middleware/i18n.rb
|
137
|
-
- lib/sidekiq/middleware/
|
105
|
+
- lib/sidekiq/middleware/modules.rb
|
106
|
+
- lib/sidekiq/monitor.rb
|
138
107
|
- lib/sidekiq/paginator.rb
|
139
108
|
- lib/sidekiq/processor.rb
|
140
109
|
- lib/sidekiq/rails.rb
|
110
|
+
- lib/sidekiq/redis_client_adapter.rb
|
141
111
|
- lib/sidekiq/redis_connection.rb
|
112
|
+
- lib/sidekiq/ring_buffer.rb
|
142
113
|
- lib/sidekiq/scheduled.rb
|
114
|
+
- lib/sidekiq/sd_notify.rb
|
115
|
+
- lib/sidekiq/systemd.rb
|
143
116
|
- lib/sidekiq/testing.rb
|
144
117
|
- lib/sidekiq/testing/inline.rb
|
145
|
-
- lib/sidekiq/
|
118
|
+
- lib/sidekiq/transaction_aware_client.rb
|
146
119
|
- lib/sidekiq/version.rb
|
147
120
|
- lib/sidekiq/web.rb
|
148
121
|
- lib/sidekiq/web/action.rb
|
149
122
|
- lib/sidekiq/web/application.rb
|
123
|
+
- lib/sidekiq/web/csrf_protection.rb
|
150
124
|
- lib/sidekiq/web/helpers.rb
|
151
125
|
- lib/sidekiq/web/router.rb
|
152
126
|
- lib/sidekiq/worker.rb
|
153
127
|
- sidekiq.gemspec
|
128
|
+
- web/assets/images/apple-touch-icon.png
|
154
129
|
- web/assets/images/favicon.ico
|
155
130
|
- web/assets/images/logo.png
|
156
131
|
- web/assets/images/status.png
|
157
132
|
- web/assets/javascripts/application.js
|
133
|
+
- web/assets/javascripts/chart.min.js
|
134
|
+
- web/assets/javascripts/chartjs-plugin-annotation.min.js
|
158
135
|
- web/assets/javascripts/dashboard.js
|
136
|
+
- web/assets/javascripts/graph.js
|
137
|
+
- web/assets/javascripts/metrics.js
|
138
|
+
- web/assets/stylesheets/application-dark.css
|
159
139
|
- web/assets/stylesheets/application-rtl.css
|
160
140
|
- web/assets/stylesheets/application.css
|
161
141
|
- web/assets/stylesheets/bootstrap-rtl.min.css
|
@@ -174,6 +154,7 @@ files:
|
|
174
154
|
- web/locales/it.yml
|
175
155
|
- web/locales/ja.yml
|
176
156
|
- web/locales/ko.yml
|
157
|
+
- web/locales/lt.yml
|
177
158
|
- web/locales/nb.yml
|
178
159
|
- web/locales/nl.yml
|
179
160
|
- web/locales/pl.yml
|
@@ -184,6 +165,7 @@ files:
|
|
184
165
|
- web/locales/ta.yml
|
185
166
|
- web/locales/uk.yml
|
186
167
|
- web/locales/ur.yml
|
168
|
+
- web/locales/vi.yml
|
187
169
|
- web/locales/zh-cn.yml
|
188
170
|
- web/locales/zh-tw.yml
|
189
171
|
- web/views/_footer.erb
|
@@ -197,6 +179,8 @@ files:
|
|
197
179
|
- web/views/dashboard.erb
|
198
180
|
- web/views/dead.erb
|
199
181
|
- web/views/layout.erb
|
182
|
+
- web/views/metrics.erb
|
183
|
+
- web/views/metrics_for_job.erb
|
200
184
|
- web/views/morgue.erb
|
201
185
|
- web/views/queue.erb
|
202
186
|
- web/views/queues.erb
|
@@ -204,10 +188,15 @@ files:
|
|
204
188
|
- web/views/retry.erb
|
205
189
|
- web/views/scheduled.erb
|
206
190
|
- web/views/scheduled_job_info.erb
|
207
|
-
homepage:
|
191
|
+
homepage: https://sidekiq.org
|
208
192
|
licenses:
|
209
193
|
- LGPL-3.0
|
210
|
-
metadata:
|
194
|
+
metadata:
|
195
|
+
homepage_uri: https://sidekiq.org
|
196
|
+
bug_tracker_uri: https://github.com/mperham/sidekiq/issues
|
197
|
+
documentation_uri: https://github.com/mperham/sidekiq/wiki
|
198
|
+
changelog_uri: https://github.com/mperham/sidekiq/blob/main/Changes.md
|
199
|
+
source_code_uri: https://github.com/mperham/sidekiq
|
211
200
|
post_install_message:
|
212
201
|
rdoc_options: []
|
213
202
|
require_paths:
|
@@ -216,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
216
205
|
requirements:
|
217
206
|
- - ">="
|
218
207
|
- !ruby/object:Gem::Version
|
219
|
-
version: 2.
|
208
|
+
version: 2.5.0
|
220
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
210
|
requirements:
|
222
211
|
- - ">="
|
data/.circleci/config.yml
DELETED
@@ -1,61 +0,0 @@
|
|
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/.github/contributing.md
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
## Issues
|
4
|
-
|
5
|
-
When opening an issue:
|
6
|
-
|
7
|
-
* include the full **backtrace** with your error
|
8
|
-
* include your Sidekiq initializer
|
9
|
-
* list versions you are using: Ruby, Rails, Sidekiq, OS, etc.
|
10
|
-
|
11
|
-
It's always better to include more info rather than less.
|
12
|
-
|
13
|
-
## Code
|
14
|
-
|
15
|
-
It's always best to open an issue before investing a lot of time into a
|
16
|
-
fix or new functionality. Functionality must meet my design goals and
|
17
|
-
vision for the project to be accepted; I would be happy to discuss how
|
18
|
-
your idea can best fit into Sidekiq.
|
19
|
-
|
20
|
-
## Legal
|
21
|
-
|
22
|
-
By submitting a Pull Request, you disavow any rights or claims to any changes
|
23
|
-
submitted to the Sidekiq project and assign the copyright of
|
24
|
-
those changes to Contributed Systems LLC.
|
25
|
-
|
26
|
-
If you cannot or do not want to reassign those rights (your employment
|
27
|
-
contract for your employer may not allow this), you should not submit a PR.
|
28
|
-
Open an issue and someone else can do the work.
|
29
|
-
|
30
|
-
This is a legal way of saying "If you submit a PR to us, that code becomes ours".
|
31
|
-
99.9% of the time that's what you intend anyways; we hope it doesn't scare you
|
32
|
-
away from contributing.
|
data/.github/issue_template.md
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
Ruby version:
|
2
|
-
Sidekiq / Pro / Enterprise version(s):
|
3
|
-
|
4
|
-
Please include your initializer and any error message with the full backtrace.
|
5
|
-
|
6
|
-
Are you using an old version?
|
7
|
-
Have you checked the changelogs to see if your issue has been fixed in a later version?
|
8
|
-
|
9
|
-
https://github.com/mperham/sidekiq/blob/master/Changes.md
|
10
|
-
https://github.com/mperham/sidekiq/blob/master/Pro-Changes.md
|
11
|
-
https://github.com/mperham/sidekiq/blob/master/Ent-Changes.md
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
data/3.0-Upgrade.md
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
# Upgrading to Sidekiq 3.0
|
2
|
-
|
3
|
-
Sidekiq 3.0 brings several new features but also removes old APIs and
|
4
|
-
changes a few data elements in Redis. To upgrade cleanly:
|
5
|
-
|
6
|
-
* Upgrade to the latest Sidekiq 2.x and run it for a few weeks.
|
7
|
-
`gem 'sidekiq', '< 3'`
|
8
|
-
This is only needed if you have retries pending.
|
9
|
-
* 3rd party gems which use **client-side middleware** will need to update
|
10
|
-
due to an API change. The Redis connection for a particular job is
|
11
|
-
passed thru the middleware to handle sharding where jobs can
|
12
|
-
be pushed to different redis server instances.
|
13
|
-
|
14
|
-
`def call(worker_class, msg, queue, redis_pool)`
|
15
|
-
|
16
|
-
Client-side middleware should use `redis_pool.with { |conn| ... }` to
|
17
|
-
perform Redis operations and **not** `Sidekiq.redis`.
|
18
|
-
* If you used the capistrano integration, you'll need to pull in the
|
19
|
-
new [capistrano-sidekiq](https://github.com/seuros/capistrano-sidekiq)
|
20
|
-
gem and use it in your deploy.rb.
|
21
|
-
* API changes:
|
22
|
-
- `Sidekiq::Client.registered_workers` replaced by `Sidekiq::Workers.new`
|
23
|
-
- `Sidekiq::Client.registered_queues` replaced by `Sidekiq::Queue.all`
|
24
|
-
- `Sidekiq::Worker#retries_exhausted` replaced by `Sidekiq::Worker.sidekiq_retries_exhausted`
|
25
|
-
- `Sidekiq::Workers#each` has changed significantly with a reworking
|
26
|
-
of Sidekiq's internal process/thread data model.
|
27
|
-
* `sidekiq/api` is no longer automatically required. If your code uses
|
28
|
-
the API, you will need to require it.
|
29
|
-
* Redis-to-Go is no longer transparently activated on Heroku so as to not play
|
30
|
-
favorites with any particular Redis service. You need to set a config option
|
31
|
-
for your app:
|
32
|
-
`heroku config:set REDIS_PROVIDER=REDISTOGO_URL`. You may also use
|
33
|
-
the generic `REDIS_URL`. See
|
34
|
-
[Advanced Options: Setting the Location of your Redis server][1]
|
35
|
-
for details.
|
36
|
-
* Anyone using Airbrake, Honeybadger, Exceptional or ExceptionNotifier
|
37
|
-
will need to update their error gem version to the latest to pull in
|
38
|
-
Sidekiq support. Sidekiq will not provide explicit support for these
|
39
|
-
services so as to not play favorites with any particular error service.
|
40
|
-
* MRI 1.9 is no longer officially supported. Sidekiq's official
|
41
|
-
support policy is to support the current and previous major releases
|
42
|
-
of MRI and Rails. As of February 2014, that's MRI 2.1, MRI 2.0, JRuby 1.7, Rails 4.0
|
43
|
-
and Rails 3.2. I will consider PRs to fix issues found by users for
|
44
|
-
other platforms/versions.
|
45
|
-
|
46
|
-
## Error Service Providers
|
47
|
-
|
48
|
-
If you previously provided a middleware to capture job errors, you
|
49
|
-
should instead provide a global error handler with Sidekiq 3.0. This
|
50
|
-
ensures **any** error within Sidekiq will be logged appropriately, not
|
51
|
-
just during job execution.
|
52
|
-
|
53
|
-
```ruby
|
54
|
-
if Sidekiq::VERSION < '3'
|
55
|
-
# old behavior
|
56
|
-
Sidekiq.configure_server do |config|
|
57
|
-
config.server_middleware do |chain|
|
58
|
-
chain.add MyErrorService::Middleware
|
59
|
-
end
|
60
|
-
end
|
61
|
-
else
|
62
|
-
Sidekiq.configure_server do |config|
|
63
|
-
config.error_handlers << proc {|ex,context| MyErrorService.notify(ex, context) }
|
64
|
-
end
|
65
|
-
end
|
66
|
-
```
|
67
|
-
|
68
|
-
Your error handler must respond to `call(exception, context_hash)`.
|
69
|
-
|
70
|
-
[1]: https://github.com/mperham/sidekiq/wiki/Advanced-Options#via-env-variable
|
data/4.0-Upgrade.md
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
# Welcome to Sidekiq 4.0!
|
2
|
-
|
3
|
-
Sidekiq 4.0 contains a redesigned, more efficient core with less overhead per job.
|
4
|
-
See my blog for [an overview of Sidekiq 4's higher performance](http://www.mikeperham.com/2015/10/14/optimizing-sidekiq/).
|
5
|
-
|
6
|
-
## What's New
|
7
|
-
|
8
|
-
* Sidekiq no longer uses Celluloid. If your application code uses Celluloid,
|
9
|
-
you will need to pull it in yourself.
|
10
|
-
|
11
|
-
* `redis-namespace` has been removed from Sidekiq's gem dependencies. If
|
12
|
-
you want to use namespacing ([and I strongly urge you not to](http://www.mikeperham.com/2015/09/24/storing-data-with-redis/)), you'll need to add the gem to your Gemfile:
|
13
|
-
```ruby
|
14
|
-
gem 'redis-namespace'
|
15
|
-
```
|
16
|
-
|
17
|
-
* **Redis 2.8.0 or greater is required.** Redis 2.8 was released two years
|
18
|
-
ago and contains **many** useful features which Sidekiq couldn't
|
19
|
-
leverage until now. **Redis 3.0.3 or greater is recommended** for large
|
20
|
-
scale use [#2431](https://github.com/mperham/sidekiq/issues/2431).
|
21
|
-
|
22
|
-
* Jobs are now fetched from Redis in parallel, making Sidekiq more
|
23
|
-
resilient to high network latency. This means that Sidekiq requires
|
24
|
-
more Redis connections per process. You must have a minimum of
|
25
|
-
`concurrency + 2` connections in your pool or Sidekiq will exit.
|
26
|
-
When in doubt, let Sidekiq size the connection pool for you.
|
27
|
-
|
28
|
-
* Worker data is no longer updated in real-time but rather upon every
|
29
|
-
heartbeat. Don't expect the `Sidekiq::Workers` API to be millisecond-precise.
|
30
|
-
|
31
|
-
* There's a new testing API based off the `Sidekiq::Queues` namespace. All
|
32
|
-
assertions made against the Worker class still work as expected.
|
33
|
-
```ruby
|
34
|
-
assert_equal 0, Sidekiq::Queues["default"].size
|
35
|
-
HardWorker.perform_async("log")
|
36
|
-
assert_equal 1, Sidekiq::Queues["default"].size
|
37
|
-
assert_equal "log", Sidekiq::Queues["default"].first['args'][0]
|
38
|
-
Sidekiq::Queues.clear_all
|
39
|
-
```
|
40
|
-
|
41
|
-
## Upgrade
|
42
|
-
|
43
|
-
First, make sure you are using Redis 2.8 or greater. Next:
|
44
|
-
|
45
|
-
* Upgrade to the latest Sidekiq 3.x.
|
46
|
-
```ruby
|
47
|
-
gem 'sidekiq', '< 4'
|
48
|
-
```
|
49
|
-
* Fix any deprecation warnings you see.
|
50
|
-
* Upgrade to 4.x.
|
51
|
-
```ruby
|
52
|
-
gem 'sidekiq', '< 5'
|
53
|
-
```
|
data/5.0-Upgrade.md
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
# Welcome to Sidekiq 5.0!
|
2
|
-
|
3
|
-
Sidekiq 5.0 contains a reworked job dispatch and execution core to integrate
|
4
|
-
better with the new Rails 5.0 Executor. It also drops support for older
|
5
|
-
versions of Ruby and Rails and adds support for RTL languages in the Web UI.
|
6
|
-
|
7
|
-
## What's New
|
8
|
-
|
9
|
-
* Integrate job logging and retry logic directly in with the job
|
10
|
-
execution logic in Sidekiq::Processor. Previously this logic was
|
11
|
-
defined as middleware. In Rails 5.0, ActiveSupport::Executor handles ActiveRecord
|
12
|
-
connection management, job callbacks, development mode class loading,
|
13
|
-
etc. Because of its extensive responsibilities, the Executor can't be
|
14
|
-
integrated as Sidekiq middleware; the logging/retry logic had to be pulled out
|
15
|
-
too. Sidekiq 4.2 had a hack to make it work but this redesign provides
|
16
|
-
a cleaner integration. [#3235]
|
17
|
-
* The Delayed Extensions `delay`, `delay_in` and `delay_until` APIs are
|
18
|
-
no longer available by default. The extensions allow you to marshal
|
19
|
-
job arguments as YAML, leading to cases where job payloads could be many
|
20
|
-
100s of KB or larger if not careful, leading to Redis networking
|
21
|
-
timeouts or other problems. As noted in the Best Practices wiki page,
|
22
|
-
Sidekiq is designed for jobs with small, simple arguments.
|
23
|
-
|
24
|
-
Add this line to your initializer to re-enable them and get the old behavior:
|
25
|
-
```ruby
|
26
|
-
Sidekiq::Extensions.enable_delay!
|
27
|
-
```
|
28
|
-
The old `Sidekiq.remove_delay!` API has been removed as it is now the default. [#3299]
|
29
|
-
* Sidekiq's quiet signal is now `TSTP` (think of it as **T**hread
|
30
|
-
**ST**o**P**) instead of USR1 as USR1 is not available on JRuby.
|
31
|
-
USR1 will continue to be supported in Sidekiq 5.x for backwards
|
32
|
-
compatibility and will be removed in Sidekiq 6.x. [#3302]
|
33
|
-
* The Web UI is now bi-directional - it can render either LTR
|
34
|
-
(left-to-right) or RTL languages. With this change, **Farsi, Arabic,
|
35
|
-
Hebrew and Urdu** are officially supported. [#3381]
|
36
|
-
* Jobs which can't be parsed due to invalid JSON are now pushed
|
37
|
-
immediately to the Dead set since they require manual intervention and
|
38
|
-
will never execute successfully as is. The Web UI has been updated to
|
39
|
-
more gracefully display these jobs. [#3296]
|
40
|
-
* **Rails 3.2** is no longer supported.
|
41
|
-
* **Ruby 2.0 and Ruby 2.1** are no longer supported. Ruby 2.2.2+ is required.
|
42
|
-
|
43
|
-
## Upgrade
|
44
|
-
|
45
|
-
As always, please upgrade Sidekiq **one major version at a time**.
|
46
|
-
If you are already running Sidekiq 4.x, then:
|
47
|
-
|
48
|
-
* Upgrade to the latest Sidekiq 4.x.
|
49
|
-
```ruby
|
50
|
-
gem 'sidekiq', '< 5'
|
51
|
-
```
|
52
|
-
* Fix any deprecation warnings you see.
|
53
|
-
* Upgrade to 5.x.
|
54
|
-
```ruby
|
55
|
-
gem 'sidekiq', '< 6'
|
56
|
-
```
|