sidekiq 4.2.10 → 7.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. checksums.yaml +5 -5
  2. data/Changes.md +859 -7
  3. data/LICENSE.txt +9 -0
  4. data/README.md +49 -50
  5. data/bin/multi_queue_bench +271 -0
  6. data/bin/sidekiq +22 -3
  7. data/bin/sidekiqload +212 -119
  8. data/bin/sidekiqmon +11 -0
  9. data/lib/generators/sidekiq/job_generator.rb +59 -0
  10. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  11. data/lib/generators/sidekiq/templates/job_spec.rb.erb +6 -0
  12. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  13. data/lib/sidekiq/api.rb +680 -315
  14. data/lib/sidekiq/capsule.rb +132 -0
  15. data/lib/sidekiq/cli.rb +268 -248
  16. data/lib/sidekiq/client.rb +136 -101
  17. data/lib/sidekiq/component.rb +68 -0
  18. data/lib/sidekiq/config.rb +293 -0
  19. data/lib/sidekiq/deploy.rb +64 -0
  20. data/lib/sidekiq/embedded.rb +63 -0
  21. data/lib/sidekiq/fetch.rb +49 -42
  22. data/lib/sidekiq/iterable_job.rb +55 -0
  23. data/lib/sidekiq/job/interrupt_handler.rb +24 -0
  24. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  25. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  26. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  27. data/lib/sidekiq/job/iterable.rb +231 -0
  28. data/lib/sidekiq/job.rb +385 -0
  29. data/lib/sidekiq/job_logger.rb +62 -0
  30. data/lib/sidekiq/job_retry.rb +305 -0
  31. data/lib/sidekiq/job_util.rb +109 -0
  32. data/lib/sidekiq/launcher.rb +208 -108
  33. data/lib/sidekiq/logger.rb +131 -0
  34. data/lib/sidekiq/manager.rb +43 -47
  35. data/lib/sidekiq/metrics/query.rb +158 -0
  36. data/lib/sidekiq/metrics/shared.rb +97 -0
  37. data/lib/sidekiq/metrics/tracking.rb +148 -0
  38. data/lib/sidekiq/middleware/chain.rb +113 -56
  39. data/lib/sidekiq/middleware/current_attributes.rb +113 -0
  40. data/lib/sidekiq/middleware/i18n.rb +7 -7
  41. data/lib/sidekiq/middleware/modules.rb +23 -0
  42. data/lib/sidekiq/monitor.rb +147 -0
  43. data/lib/sidekiq/paginator.rb +28 -16
  44. data/lib/sidekiq/processor.rb +188 -98
  45. data/lib/sidekiq/rails.rb +46 -97
  46. data/lib/sidekiq/redis_client_adapter.rb +114 -0
  47. data/lib/sidekiq/redis_connection.rb +71 -73
  48. data/lib/sidekiq/ring_buffer.rb +31 -0
  49. data/lib/sidekiq/scheduled.rb +140 -51
  50. data/lib/sidekiq/sd_notify.rb +149 -0
  51. data/lib/sidekiq/systemd.rb +26 -0
  52. data/lib/sidekiq/testing/inline.rb +6 -5
  53. data/lib/sidekiq/testing.rb +95 -85
  54. data/lib/sidekiq/transaction_aware_client.rb +51 -0
  55. data/lib/sidekiq/version.rb +3 -1
  56. data/lib/sidekiq/web/action.rb +22 -16
  57. data/lib/sidekiq/web/application.rb +230 -86
  58. data/lib/sidekiq/web/csrf_protection.rb +183 -0
  59. data/lib/sidekiq/web/helpers.rb +241 -104
  60. data/lib/sidekiq/web/router.rb +23 -19
  61. data/lib/sidekiq/web.rb +118 -110
  62. data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
  63. data/lib/sidekiq.rb +96 -185
  64. data/sidekiq.gemspec +26 -27
  65. data/web/assets/images/apple-touch-icon.png +0 -0
  66. data/web/assets/javascripts/application.js +157 -61
  67. data/web/assets/javascripts/base-charts.js +106 -0
  68. data/web/assets/javascripts/chart.min.js +13 -0
  69. data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
  70. data/web/assets/javascripts/dashboard-charts.js +192 -0
  71. data/web/assets/javascripts/dashboard.js +37 -280
  72. data/web/assets/javascripts/metrics.js +298 -0
  73. data/web/assets/stylesheets/application-dark.css +147 -0
  74. data/web/assets/stylesheets/application-rtl.css +163 -0
  75. data/web/assets/stylesheets/application.css +173 -198
  76. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  77. data/web/assets/stylesheets/bootstrap.css +2 -2
  78. data/web/locales/ar.yml +87 -0
  79. data/web/locales/cs.yml +62 -62
  80. data/web/locales/da.yml +60 -53
  81. data/web/locales/de.yml +65 -53
  82. data/web/locales/el.yml +43 -24
  83. data/web/locales/en.yml +86 -64
  84. data/web/locales/es.yml +70 -53
  85. data/web/locales/fa.yml +65 -64
  86. data/web/locales/fr.yml +83 -62
  87. data/web/locales/gd.yml +99 -0
  88. data/web/locales/he.yml +80 -0
  89. data/web/locales/hi.yml +59 -59
  90. data/web/locales/it.yml +53 -53
  91. data/web/locales/ja.yml +75 -62
  92. data/web/locales/ko.yml +52 -52
  93. data/web/locales/lt.yml +83 -0
  94. data/web/locales/nb.yml +61 -61
  95. data/web/locales/nl.yml +52 -52
  96. data/web/locales/pl.yml +45 -45
  97. data/web/locales/pt-br.yml +83 -55
  98. data/web/locales/pt.yml +51 -51
  99. data/web/locales/ru.yml +68 -63
  100. data/web/locales/sv.yml +53 -53
  101. data/web/locales/ta.yml +60 -60
  102. data/web/locales/tr.yml +101 -0
  103. data/web/locales/uk.yml +62 -61
  104. data/web/locales/ur.yml +80 -0
  105. data/web/locales/vi.yml +83 -0
  106. data/web/locales/zh-cn.yml +43 -16
  107. data/web/locales/zh-tw.yml +42 -8
  108. data/web/views/_footer.erb +21 -3
  109. data/web/views/_job_info.erb +21 -4
  110. data/web/views/_metrics_period_select.erb +12 -0
  111. data/web/views/_nav.erb +5 -19
  112. data/web/views/_paging.erb +3 -1
  113. data/web/views/_poll_link.erb +3 -6
  114. data/web/views/_summary.erb +7 -7
  115. data/web/views/busy.erb +85 -31
  116. data/web/views/dashboard.erb +50 -20
  117. data/web/views/dead.erb +3 -3
  118. data/web/views/filtering.erb +7 -0
  119. data/web/views/layout.erb +17 -6
  120. data/web/views/metrics.erb +91 -0
  121. data/web/views/metrics_for_job.erb +59 -0
  122. data/web/views/morgue.erb +14 -15
  123. data/web/views/queue.erb +34 -24
  124. data/web/views/queues.erb +20 -4
  125. data/web/views/retries.erb +19 -16
  126. data/web/views/retry.erb +3 -3
  127. data/web/views/scheduled.erb +19 -17
  128. metadata +91 -198
  129. data/.github/contributing.md +0 -32
  130. data/.github/issue_template.md +0 -9
  131. data/.gitignore +0 -12
  132. data/.travis.yml +0 -18
  133. data/3.0-Upgrade.md +0 -70
  134. data/4.0-Upgrade.md +0 -53
  135. data/COMM-LICENSE +0 -95
  136. data/Ent-Changes.md +0 -173
  137. data/Gemfile +0 -29
  138. data/LICENSE +0 -9
  139. data/Pro-2.0-Upgrade.md +0 -138
  140. data/Pro-3.0-Upgrade.md +0 -44
  141. data/Pro-Changes.md +0 -628
  142. data/Rakefile +0 -12
  143. data/bin/sidekiqctl +0 -99
  144. data/code_of_conduct.md +0 -50
  145. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +0 -6
  146. data/lib/generators/sidekiq/worker_generator.rb +0 -49
  147. data/lib/sidekiq/core_ext.rb +0 -119
  148. data/lib/sidekiq/exception_handler.rb +0 -31
  149. data/lib/sidekiq/extensions/action_mailer.rb +0 -57
  150. data/lib/sidekiq/extensions/active_record.rb +0 -40
  151. data/lib/sidekiq/extensions/class_methods.rb +0 -40
  152. data/lib/sidekiq/extensions/generic_proxy.rb +0 -25
  153. data/lib/sidekiq/logging.rb +0 -106
  154. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  155. data/lib/sidekiq/middleware/server/logging.rb +0 -31
  156. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
  157. data/lib/sidekiq/util.rb +0 -63
  158. data/lib/sidekiq/worker.rb +0 -121
metadata CHANGED
@@ -1,296 +1,174 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.10
4
+ version: 7.3.2
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: 2017-03-17 00:00:00.000000000 Z
11
+ date: 2024-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: redis
14
+ name: redis-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.2'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 3.2.1
19
+ version: 0.22.2
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.2'
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 3.2.1
26
+ version: 0.22.2
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: connection_pool
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '2.2'
40
31
  - - ">="
41
32
  - !ruby/object:Gem::Version
42
- version: 2.2.0
33
+ version: 2.3.0
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '2.2'
50
38
  - - ">="
51
39
  - !ruby/object:Gem::Version
52
- version: 2.2.0
40
+ version: 2.3.0
53
41
  - !ruby/object:Gem::Dependency
54
- name: concurrent-ruby
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '1.0'
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '1.0'
67
- - !ruby/object:Gem::Dependency
68
- name: rack-protection
42
+ name: rack
69
43
  requirement: !ruby/object:Gem::Requirement
70
44
  requirements:
71
45
  - - ">="
72
46
  - !ruby/object:Gem::Version
73
- version: 1.5.0
47
+ version: 2.2.4
74
48
  type: :runtime
75
49
  prerelease: false
76
50
  version_requirements: !ruby/object:Gem::Requirement
77
51
  requirements:
78
52
  - - ">="
79
53
  - !ruby/object:Gem::Version
80
- version: 1.5.0
54
+ version: 2.2.4
81
55
  - !ruby/object:Gem::Dependency
82
- name: redis-namespace
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '1.5'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 1.5.2
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '1.5'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 1.5.2
101
- - !ruby/object:Gem::Dependency
102
- name: minitest
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '5.10'
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 5.10.1
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '5.10'
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: 5.10.1
121
- - !ruby/object:Gem::Dependency
122
- name: rake
56
+ name: concurrent-ruby
123
57
  requirement: !ruby/object:Gem::Requirement
124
58
  requirements:
125
- - - "~>"
59
+ - - "<"
126
60
  - !ruby/object:Gem::Version
127
- version: '10.0'
128
- type: :development
61
+ version: '2'
62
+ type: :runtime
129
63
  prerelease: false
130
64
  version_requirements: !ruby/object:Gem::Requirement
131
65
  requirements:
132
- - - "~>"
66
+ - - "<"
133
67
  - !ruby/object:Gem::Version
134
- version: '10.0'
68
+ version: '2'
135
69
  - !ruby/object:Gem::Dependency
136
- name: rails
70
+ name: logger
137
71
  requirement: !ruby/object:Gem::Requirement
138
72
  requirements:
139
73
  - - ">="
140
74
  - !ruby/object:Gem::Version
141
- version: 3.2.0
142
- type: :development
75
+ version: '0'
76
+ type: :runtime
143
77
  prerelease: false
144
78
  version_requirements: !ruby/object:Gem::Requirement
145
79
  requirements:
146
80
  - - ">="
147
81
  - !ruby/object:Gem::Version
148
- version: 3.2.0
149
- - !ruby/object:Gem::Dependency
150
- name: capybara
151
- requirement: !ruby/object:Gem::Requirement
152
- requirements:
153
- - - "~>"
154
- - !ruby/object:Gem::Version
155
- version: '2.11'
156
- type: :development
157
- prerelease: false
158
- version_requirements: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - "~>"
161
- - !ruby/object:Gem::Version
162
- version: '2.11'
163
- - !ruby/object:Gem::Dependency
164
- name: poltergeist
165
- requirement: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: '1.12'
170
- type: :development
171
- prerelease: false
172
- version_requirements: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: '1.12'
177
- - !ruby/object:Gem::Dependency
178
- name: percy-capybara
179
- requirement: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - "~>"
182
- - !ruby/object:Gem::Version
183
- version: '2.3'
184
- type: :development
185
- prerelease: false
186
- version_requirements: !ruby/object:Gem::Requirement
187
- requirements:
188
- - - "~>"
189
- - !ruby/object:Gem::Version
190
- version: '2.3'
191
- - !ruby/object:Gem::Dependency
192
- name: timecop
193
- requirement: !ruby/object:Gem::Requirement
194
- requirements:
195
- - - "~>"
196
- - !ruby/object:Gem::Version
197
- version: '0.8'
198
- type: :development
199
- prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- requirements:
202
- - - "~>"
203
- - !ruby/object:Gem::Version
204
- version: '0.8'
205
- - !ruby/object:Gem::Dependency
206
- name: mocha
207
- requirement: !ruby/object:Gem::Requirement
208
- requirements:
209
- - - "~>"
210
- - !ruby/object:Gem::Version
211
- version: '1.1'
212
- type: :development
213
- prerelease: false
214
- version_requirements: !ruby/object:Gem::Requirement
215
- requirements:
216
- - - "~>"
217
- - !ruby/object:Gem::Version
218
- version: '1.1'
82
+ version: '0'
219
83
  description: Simple, efficient background processing for Ruby.
220
84
  email:
221
- - mperham@gmail.com
85
+ - info@contribsys.com
222
86
  executables:
223
87
  - sidekiq
224
- - sidekiqctl
88
+ - sidekiqmon
225
89
  extensions: []
226
90
  extra_rdoc_files: []
227
91
  files:
228
- - ".github/contributing.md"
229
- - ".github/issue_template.md"
230
- - ".gitignore"
231
- - ".travis.yml"
232
- - 3.0-Upgrade.md
233
- - 4.0-Upgrade.md
234
- - COMM-LICENSE
235
92
  - Changes.md
236
- - Ent-Changes.md
237
- - Gemfile
238
- - LICENSE
239
- - Pro-2.0-Upgrade.md
240
- - Pro-3.0-Upgrade.md
241
- - Pro-Changes.md
93
+ - LICENSE.txt
242
94
  - README.md
243
- - Rakefile
95
+ - bin/multi_queue_bench
244
96
  - bin/sidekiq
245
- - bin/sidekiqctl
246
97
  - bin/sidekiqload
247
- - code_of_conduct.md
248
- - lib/generators/sidekiq/templates/worker.rb.erb
249
- - lib/generators/sidekiq/templates/worker_spec.rb.erb
250
- - lib/generators/sidekiq/templates/worker_test.rb.erb
251
- - lib/generators/sidekiq/worker_generator.rb
98
+ - bin/sidekiqmon
99
+ - lib/generators/sidekiq/job_generator.rb
100
+ - lib/generators/sidekiq/templates/job.rb.erb
101
+ - lib/generators/sidekiq/templates/job_spec.rb.erb
102
+ - lib/generators/sidekiq/templates/job_test.rb.erb
252
103
  - lib/sidekiq.rb
253
104
  - lib/sidekiq/api.rb
105
+ - lib/sidekiq/capsule.rb
254
106
  - lib/sidekiq/cli.rb
255
107
  - lib/sidekiq/client.rb
256
- - lib/sidekiq/core_ext.rb
257
- - lib/sidekiq/exception_handler.rb
258
- - lib/sidekiq/extensions/action_mailer.rb
259
- - lib/sidekiq/extensions/active_record.rb
260
- - lib/sidekiq/extensions/class_methods.rb
261
- - lib/sidekiq/extensions/generic_proxy.rb
108
+ - lib/sidekiq/component.rb
109
+ - lib/sidekiq/config.rb
110
+ - lib/sidekiq/deploy.rb
111
+ - lib/sidekiq/embedded.rb
262
112
  - lib/sidekiq/fetch.rb
113
+ - lib/sidekiq/iterable_job.rb
114
+ - lib/sidekiq/job.rb
115
+ - lib/sidekiq/job/interrupt_handler.rb
116
+ - lib/sidekiq/job/iterable.rb
117
+ - lib/sidekiq/job/iterable/active_record_enumerator.rb
118
+ - lib/sidekiq/job/iterable/csv_enumerator.rb
119
+ - lib/sidekiq/job/iterable/enumerators.rb
120
+ - lib/sidekiq/job_logger.rb
121
+ - lib/sidekiq/job_retry.rb
122
+ - lib/sidekiq/job_util.rb
263
123
  - lib/sidekiq/launcher.rb
264
- - lib/sidekiq/logging.rb
124
+ - lib/sidekiq/logger.rb
265
125
  - lib/sidekiq/manager.rb
126
+ - lib/sidekiq/metrics/query.rb
127
+ - lib/sidekiq/metrics/shared.rb
128
+ - lib/sidekiq/metrics/tracking.rb
266
129
  - lib/sidekiq/middleware/chain.rb
130
+ - lib/sidekiq/middleware/current_attributes.rb
267
131
  - lib/sidekiq/middleware/i18n.rb
268
- - lib/sidekiq/middleware/server/active_record.rb
269
- - lib/sidekiq/middleware/server/logging.rb
270
- - lib/sidekiq/middleware/server/retry_jobs.rb
132
+ - lib/sidekiq/middleware/modules.rb
133
+ - lib/sidekiq/monitor.rb
271
134
  - lib/sidekiq/paginator.rb
272
135
  - lib/sidekiq/processor.rb
273
136
  - lib/sidekiq/rails.rb
137
+ - lib/sidekiq/redis_client_adapter.rb
274
138
  - lib/sidekiq/redis_connection.rb
139
+ - lib/sidekiq/ring_buffer.rb
275
140
  - lib/sidekiq/scheduled.rb
141
+ - lib/sidekiq/sd_notify.rb
142
+ - lib/sidekiq/systemd.rb
276
143
  - lib/sidekiq/testing.rb
277
144
  - lib/sidekiq/testing/inline.rb
278
- - lib/sidekiq/util.rb
145
+ - lib/sidekiq/transaction_aware_client.rb
279
146
  - lib/sidekiq/version.rb
280
147
  - lib/sidekiq/web.rb
281
148
  - lib/sidekiq/web/action.rb
282
149
  - lib/sidekiq/web/application.rb
150
+ - lib/sidekiq/web/csrf_protection.rb
283
151
  - lib/sidekiq/web/helpers.rb
284
152
  - lib/sidekiq/web/router.rb
285
- - lib/sidekiq/worker.rb
153
+ - lib/sidekiq/worker_compatibility_alias.rb
286
154
  - sidekiq.gemspec
155
+ - web/assets/images/apple-touch-icon.png
287
156
  - web/assets/images/favicon.ico
288
157
  - web/assets/images/logo.png
289
158
  - web/assets/images/status.png
290
159
  - web/assets/javascripts/application.js
160
+ - web/assets/javascripts/base-charts.js
161
+ - web/assets/javascripts/chart.min.js
162
+ - web/assets/javascripts/chartjs-plugin-annotation.min.js
163
+ - web/assets/javascripts/dashboard-charts.js
291
164
  - web/assets/javascripts/dashboard.js
165
+ - web/assets/javascripts/metrics.js
166
+ - web/assets/stylesheets/application-dark.css
167
+ - web/assets/stylesheets/application-rtl.css
292
168
  - web/assets/stylesheets/application.css
169
+ - web/assets/stylesheets/bootstrap-rtl.min.css
293
170
  - web/assets/stylesheets/bootstrap.css
171
+ - web/locales/ar.yml
294
172
  - web/locales/cs.yml
295
173
  - web/locales/da.yml
296
174
  - web/locales/de.yml
@@ -299,10 +177,13 @@ files:
299
177
  - web/locales/es.yml
300
178
  - web/locales/fa.yml
301
179
  - web/locales/fr.yml
180
+ - web/locales/gd.yml
181
+ - web/locales/he.yml
302
182
  - web/locales/hi.yml
303
183
  - web/locales/it.yml
304
184
  - web/locales/ja.yml
305
185
  - web/locales/ko.yml
186
+ - web/locales/lt.yml
306
187
  - web/locales/nb.yml
307
188
  - web/locales/nl.yml
308
189
  - web/locales/pl.yml
@@ -311,11 +192,15 @@ files:
311
192
  - web/locales/ru.yml
312
193
  - web/locales/sv.yml
313
194
  - web/locales/ta.yml
195
+ - web/locales/tr.yml
314
196
  - web/locales/uk.yml
197
+ - web/locales/ur.yml
198
+ - web/locales/vi.yml
315
199
  - web/locales/zh-cn.yml
316
200
  - web/locales/zh-tw.yml
317
201
  - web/views/_footer.erb
318
202
  - web/views/_job_info.erb
203
+ - web/views/_metrics_period_select.erb
319
204
  - web/views/_nav.erb
320
205
  - web/views/_paging.erb
321
206
  - web/views/_poll_link.erb
@@ -324,7 +209,10 @@ files:
324
209
  - web/views/busy.erb
325
210
  - web/views/dashboard.erb
326
211
  - web/views/dead.erb
212
+ - web/views/filtering.erb
327
213
  - web/views/layout.erb
214
+ - web/views/metrics.erb
215
+ - web/views/metrics_for_job.erb
328
216
  - web/views/morgue.erb
329
217
  - web/views/queue.erb
330
218
  - web/views/queues.erb
@@ -332,11 +220,17 @@ files:
332
220
  - web/views/retry.erb
333
221
  - web/views/scheduled.erb
334
222
  - web/views/scheduled_job_info.erb
335
- homepage: http://sidekiq.org
223
+ homepage: https://sidekiq.org
336
224
  licenses:
337
225
  - LGPL-3.0
338
- metadata: {}
339
- post_install_message:
226
+ metadata:
227
+ homepage_uri: https://sidekiq.org
228
+ bug_tracker_uri: https://github.com/sidekiq/sidekiq/issues
229
+ documentation_uri: https://github.com/sidekiq/sidekiq/wiki
230
+ changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
231
+ source_code_uri: https://github.com/sidekiq/sidekiq
232
+ rubygems_mfa_required: 'true'
233
+ post_install_message:
340
234
  rdoc_options: []
341
235
  require_paths:
342
236
  - lib
@@ -344,16 +238,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
344
238
  requirements:
345
239
  - - ">="
346
240
  - !ruby/object:Gem::Version
347
- version: '0'
241
+ version: 2.7.0
348
242
  required_rubygems_version: !ruby/object:Gem::Requirement
349
243
  requirements:
350
244
  - - ">="
351
245
  - !ruby/object:Gem::Version
352
246
  version: '0'
353
247
  requirements: []
354
- rubyforge_project:
355
- rubygems_version: 2.5.2
356
- signing_key:
248
+ rubygems_version: 3.5.11
249
+ signing_key:
357
250
  specification_version: 4
358
251
  summary: Simple, efficient background processing for Ruby
359
252
  test_files: []
@@ -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.
@@ -1,9 +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 changelog to see if your issue has been fixed in a later version?
8
-
9
- https://github.com/mperham/sidekiq/blob/master/Changes.md
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- .rvmrc
2
- .ruby-version
3
- tags
4
- Gemfile.lock
5
- *.swp
6
- dump.rdb
7
- .rbx
8
- coverage/
9
- vendor/
10
- .bundle/
11
- .sass-cache/
12
- tmp/
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- services:
5
- - redis-server
6
- before_install:
7
- - gem install bundler
8
- - gem update bundler
9
- matrix:
10
- include:
11
- - rvm: 2.2.4
12
- env: "PERCY_ENABLE=0"
13
- - rvm: 2.3.0
14
- env: "PERCY_ENABLE=0"
15
- - rvm: 2.4.0
16
- env: "PERCY_ENABLE=1"
17
- - rvm: jruby-9.1.6.0
18
- env: "PERCY_ENABLE=0"
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
- ```