sidekiq 4.2.10 → 6.5.7

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 (131) hide show
  1. checksums.yaml +5 -5
  2. data/Changes.md +573 -1
  3. data/LICENSE +3 -3
  4. data/README.md +25 -34
  5. data/bin/sidekiq +27 -3
  6. data/bin/sidekiqload +81 -74
  7. data/bin/sidekiqmon +8 -0
  8. data/lib/generators/sidekiq/job_generator.rb +57 -0
  9. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  10. data/lib/generators/sidekiq/templates/job_spec.rb.erb +6 -0
  11. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  12. data/lib/sidekiq/api.rb +585 -285
  13. data/lib/sidekiq/cli.rb +256 -233
  14. data/lib/sidekiq/client.rb +86 -83
  15. data/lib/sidekiq/component.rb +65 -0
  16. data/lib/sidekiq/delay.rb +43 -0
  17. data/lib/sidekiq/extensions/action_mailer.rb +13 -22
  18. data/lib/sidekiq/extensions/active_record.rb +13 -10
  19. data/lib/sidekiq/extensions/class_methods.rb +14 -11
  20. data/lib/sidekiq/extensions/generic_proxy.rb +13 -5
  21. data/lib/sidekiq/fetch.rb +50 -40
  22. data/lib/sidekiq/job.rb +13 -0
  23. data/lib/sidekiq/job_logger.rb +51 -0
  24. data/lib/sidekiq/job_retry.rb +282 -0
  25. data/lib/sidekiq/job_util.rb +71 -0
  26. data/lib/sidekiq/launcher.rb +184 -90
  27. data/lib/sidekiq/logger.rb +156 -0
  28. data/lib/sidekiq/manager.rb +43 -45
  29. data/lib/sidekiq/metrics/deploy.rb +47 -0
  30. data/lib/sidekiq/metrics/query.rb +153 -0
  31. data/lib/sidekiq/metrics/shared.rb +94 -0
  32. data/lib/sidekiq/metrics/tracking.rb +134 -0
  33. data/lib/sidekiq/middleware/chain.rb +102 -46
  34. data/lib/sidekiq/middleware/current_attributes.rb +63 -0
  35. data/lib/sidekiq/middleware/i18n.rb +7 -7
  36. data/lib/sidekiq/middleware/modules.rb +21 -0
  37. data/lib/sidekiq/monitor.rb +133 -0
  38. data/lib/sidekiq/paginator.rb +20 -16
  39. data/lib/sidekiq/processor.rb +176 -91
  40. data/lib/sidekiq/rails.rb +41 -96
  41. data/lib/sidekiq/redis_client_adapter.rb +154 -0
  42. data/lib/sidekiq/redis_connection.rb +117 -48
  43. data/lib/sidekiq/ring_buffer.rb +29 -0
  44. data/lib/sidekiq/scheduled.rb +134 -44
  45. data/lib/sidekiq/sd_notify.rb +149 -0
  46. data/lib/sidekiq/systemd.rb +24 -0
  47. data/lib/sidekiq/testing/inline.rb +6 -5
  48. data/lib/sidekiq/testing.rb +80 -61
  49. data/lib/sidekiq/transaction_aware_client.rb +45 -0
  50. data/lib/sidekiq/version.rb +2 -1
  51. data/lib/sidekiq/web/action.rb +15 -15
  52. data/lib/sidekiq/web/application.rb +129 -86
  53. data/lib/sidekiq/web/csrf_protection.rb +180 -0
  54. data/lib/sidekiq/web/helpers.rb +170 -83
  55. data/lib/sidekiq/web/router.rb +23 -19
  56. data/lib/sidekiq/web.rb +69 -109
  57. data/lib/sidekiq/worker.rb +290 -41
  58. data/lib/sidekiq.rb +185 -77
  59. data/sidekiq.gemspec +23 -27
  60. data/web/assets/images/apple-touch-icon.png +0 -0
  61. data/web/assets/javascripts/application.js +112 -61
  62. data/web/assets/javascripts/chart.min.js +13 -0
  63. data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
  64. data/web/assets/javascripts/dashboard.js +70 -91
  65. data/web/assets/javascripts/graph.js +16 -0
  66. data/web/assets/javascripts/metrics.js +262 -0
  67. data/web/assets/stylesheets/application-dark.css +143 -0
  68. data/web/assets/stylesheets/application-rtl.css +242 -0
  69. data/web/assets/stylesheets/application.css +364 -144
  70. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  71. data/web/assets/stylesheets/bootstrap.css +2 -2
  72. data/web/locales/ar.yml +87 -0
  73. data/web/locales/de.yml +14 -2
  74. data/web/locales/el.yml +43 -19
  75. data/web/locales/en.yml +15 -1
  76. data/web/locales/es.yml +22 -5
  77. data/web/locales/fa.yml +1 -0
  78. data/web/locales/fr.yml +10 -3
  79. data/web/locales/he.yml +79 -0
  80. data/web/locales/ja.yml +19 -4
  81. data/web/locales/lt.yml +83 -0
  82. data/web/locales/pl.yml +4 -4
  83. data/web/locales/pt-br.yml +27 -9
  84. data/web/locales/ru.yml +4 -0
  85. data/web/locales/ur.yml +80 -0
  86. data/web/locales/vi.yml +83 -0
  87. data/web/locales/zh-cn.yml +36 -11
  88. data/web/locales/zh-tw.yml +32 -7
  89. data/web/views/_footer.erb +5 -2
  90. data/web/views/_job_info.erb +3 -2
  91. data/web/views/_nav.erb +5 -19
  92. data/web/views/_paging.erb +1 -1
  93. data/web/views/_poll_link.erb +2 -5
  94. data/web/views/_summary.erb +7 -7
  95. data/web/views/busy.erb +62 -24
  96. data/web/views/dashboard.erb +24 -15
  97. data/web/views/dead.erb +3 -3
  98. data/web/views/layout.erb +14 -3
  99. data/web/views/metrics.erb +69 -0
  100. data/web/views/metrics_for_job.erb +87 -0
  101. data/web/views/morgue.erb +9 -6
  102. data/web/views/queue.erb +26 -12
  103. data/web/views/queues.erb +12 -2
  104. data/web/views/retries.erb +14 -7
  105. data/web/views/retry.erb +3 -3
  106. data/web/views/scheduled.erb +7 -4
  107. metadata +66 -206
  108. data/.github/contributing.md +0 -32
  109. data/.github/issue_template.md +0 -9
  110. data/.gitignore +0 -12
  111. data/.travis.yml +0 -18
  112. data/3.0-Upgrade.md +0 -70
  113. data/4.0-Upgrade.md +0 -53
  114. data/COMM-LICENSE +0 -95
  115. data/Ent-Changes.md +0 -173
  116. data/Gemfile +0 -29
  117. data/Pro-2.0-Upgrade.md +0 -138
  118. data/Pro-3.0-Upgrade.md +0 -44
  119. data/Pro-Changes.md +0 -628
  120. data/Rakefile +0 -12
  121. data/bin/sidekiqctl +0 -99
  122. data/code_of_conduct.md +0 -50
  123. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +0 -6
  124. data/lib/generators/sidekiq/worker_generator.rb +0 -49
  125. data/lib/sidekiq/core_ext.rb +0 -119
  126. data/lib/sidekiq/exception_handler.rb +0 -31
  127. data/lib/sidekiq/logging.rb +0 -106
  128. data/lib/sidekiq/middleware/server/active_record.rb +0 -13
  129. data/lib/sidekiq/middleware/server/logging.rb +0 -31
  130. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -205
  131. data/lib/sidekiq/util.rb +0 -63
@@ -14,7 +14,7 @@
14
14
  <form action="<%= root_path %>retries" method="post">
15
15
  <%= csrf_tag %>
16
16
  <div class="table_container">
17
- <table class="table table-striped table-bordered table-white">
17
+ <table class="table table-striped table-bordered table-hover">
18
18
  <thead>
19
19
  <tr>
20
20
  <th class="table-checkbox checkbox-column">
@@ -44,7 +44,10 @@
44
44
  <td>
45
45
  <a href="<%= root_path %>queues/<%= entry.queue %>"><%= entry.queue %></a>
46
46
  </td>
47
- <td><%= entry.display_class %></td>
47
+ <td>
48
+ <%= entry.display_class %>
49
+ <%= display_tags(entry, "retries") %>
50
+ </td>
48
51
  <td>
49
52
  <div class="args"><%= display_args(entry.display_args) %></div>
50
53
  </td>
@@ -55,19 +58,23 @@
55
58
  <% end %>
56
59
  </table>
57
60
  </div>
58
- <input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="<%= t('RetryNow') %>" />
59
- <input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
60
- <input class="btn btn-danger btn-xs pull-left" type="submit" name="kill" value="<%= t('Kill') %>" />
61
+ <input class="btn btn-primary pull-left flip" type="submit" name="retry" value="<%= t('RetryNow') %>" />
62
+ <input class="btn btn-danger pull-left flip" type="submit" name="delete" value="<%= t('Delete') %>" />
63
+ <input class="btn btn-danger pull-left flip" type="submit" name="kill" value="<%= t('Kill') %>" />
61
64
  </form>
62
65
 
63
66
  <% unfiltered? do %>
64
67
  <form action="<%= root_path %>retries/all/delete" method="post">
65
68
  <%= csrf_tag %>
66
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
69
+ <input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
67
70
  </form>
68
71
  <form action="<%= root_path %>retries/all/retry" method="post">
69
72
  <%= csrf_tag %>
70
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
73
+ <input class="btn btn-danger pull-right flip" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
74
+ </form>
75
+ <form action="<%= root_path %>retries/all/kill" method="post">
76
+ <%= csrf_tag %>
77
+ <input class="btn btn-danger pull-right flip" type="submit" name="kill" value="<%= t('KillAll') %>" data-confirm="<%= t('AreYouSure') %>" />
71
78
  </form>
72
79
  <% end %>
73
80
 
data/web/views/retry.erb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h3><%= t('Error') %></h3>
4
4
  <div class="table_container">
5
- <table class="error table table-bordered table-striped">
5
+ <table class="error table table-bordered table-striped table-hover">
6
6
  <tbody>
7
7
  <tr>
8
8
  <th><%= t('ErrorClass') %></th>
@@ -14,11 +14,11 @@
14
14
  <th><%= t('ErrorMessage') %></th>
15
15
  <td><%= h(@retry['error_message']) %></td>
16
16
  </tr>
17
- <% if !@retry['error_backtrace'].nil? %>
17
+ <% if @retry.error_backtrace %>
18
18
  <tr>
19
19
  <th><%= t('ErrorBacktrace') %></th>
20
20
  <td>
21
- <code><%= @retry['error_backtrace'].join("<br/>") %></code>
21
+ <code><%= @retry.error_backtrace.join("<br/>") %></code>
22
22
  </td>
23
23
  </tr>
24
24
  <% end %>
@@ -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-white">
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><%= entry.display_class %></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>
@@ -46,8 +49,8 @@
46
49
  <% end %>
47
50
  </table>
48
51
  </div>
49
- <input class="btn btn-danger pull-right" type="submit" name="delete" value="<%= t('Delete') %>" />
50
- <input class="btn btn-danger pull-right" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
52
+ <input class="btn btn-danger pull-right flip" type="submit" name="delete" value="<%= t('Delete') %>" />
53
+ <input class="btn btn-danger pull-right flip" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
51
54
  </form>
52
55
  <% else %>
53
56
  <div class="alert alert-success"><%= t('NoScheduledFound') %></div>
metadata CHANGED
@@ -1,296 +1,146 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.10
4
+ version: 6.5.7
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: 2022-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '5'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.2.1
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
- - - "~>"
27
+ - - "<"
28
28
  - !ruby/object:Gem::Version
29
- version: '3.2'
29
+ version: '5'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.2.1
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.0
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.0
46
+ version: 2.2.5
53
47
  - !ruby/object:Gem::Dependency
54
- name: concurrent-ruby
48
+ name: rack
55
49
  requirement: !ruby/object:Gem::Requirement
56
50
  requirements:
57
51
  - - "~>"
58
52
  - !ruby/object:Gem::Version
59
- version: '1.0'
53
+ version: '2.0'
60
54
  type: :runtime
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
57
  requirements:
64
58
  - - "~>"
65
59
  - !ruby/object:Gem::Version
66
- version: '1.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
- - !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
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: '10.0'
128
- type: :development
129
- prerelease: false
130
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: '10.0'
135
- - !ruby/object:Gem::Dependency
136
- name: rails
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- version: 3.2.0
142
- type: :development
143
- prerelease: false
144
- version_requirements: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - ">="
147
- - !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'
60
+ version: '2.0'
219
61
  description: Simple, efficient background processing for Ruby.
220
62
  email:
221
63
  - mperham@gmail.com
222
64
  executables:
223
65
  - sidekiq
224
- - sidekiqctl
66
+ - sidekiqmon
225
67
  extensions: []
226
68
  extra_rdoc_files: []
227
69
  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
70
  - Changes.md
236
- - Ent-Changes.md
237
- - Gemfile
238
71
  - LICENSE
239
- - Pro-2.0-Upgrade.md
240
- - Pro-3.0-Upgrade.md
241
- - Pro-Changes.md
242
72
  - README.md
243
- - Rakefile
244
73
  - bin/sidekiq
245
- - bin/sidekiqctl
246
74
  - 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
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
252
80
  - lib/sidekiq.rb
253
81
  - lib/sidekiq/api.rb
254
82
  - lib/sidekiq/cli.rb
255
83
  - lib/sidekiq/client.rb
256
- - lib/sidekiq/core_ext.rb
257
- - lib/sidekiq/exception_handler.rb
84
+ - lib/sidekiq/component.rb
85
+ - lib/sidekiq/delay.rb
258
86
  - lib/sidekiq/extensions/action_mailer.rb
259
87
  - lib/sidekiq/extensions/active_record.rb
260
88
  - lib/sidekiq/extensions/class_methods.rb
261
89
  - lib/sidekiq/extensions/generic_proxy.rb
262
90
  - lib/sidekiq/fetch.rb
91
+ - lib/sidekiq/job.rb
92
+ - lib/sidekiq/job_logger.rb
93
+ - lib/sidekiq/job_retry.rb
94
+ - lib/sidekiq/job_util.rb
263
95
  - lib/sidekiq/launcher.rb
264
- - lib/sidekiq/logging.rb
96
+ - lib/sidekiq/logger.rb
265
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
266
102
  - lib/sidekiq/middleware/chain.rb
103
+ - lib/sidekiq/middleware/current_attributes.rb
267
104
  - 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
105
+ - lib/sidekiq/middleware/modules.rb
106
+ - lib/sidekiq/monitor.rb
271
107
  - lib/sidekiq/paginator.rb
272
108
  - lib/sidekiq/processor.rb
273
109
  - lib/sidekiq/rails.rb
110
+ - lib/sidekiq/redis_client_adapter.rb
274
111
  - lib/sidekiq/redis_connection.rb
112
+ - lib/sidekiq/ring_buffer.rb
275
113
  - lib/sidekiq/scheduled.rb
114
+ - lib/sidekiq/sd_notify.rb
115
+ - lib/sidekiq/systemd.rb
276
116
  - lib/sidekiq/testing.rb
277
117
  - lib/sidekiq/testing/inline.rb
278
- - lib/sidekiq/util.rb
118
+ - lib/sidekiq/transaction_aware_client.rb
279
119
  - lib/sidekiq/version.rb
280
120
  - lib/sidekiq/web.rb
281
121
  - lib/sidekiq/web/action.rb
282
122
  - lib/sidekiq/web/application.rb
123
+ - lib/sidekiq/web/csrf_protection.rb
283
124
  - lib/sidekiq/web/helpers.rb
284
125
  - lib/sidekiq/web/router.rb
285
126
  - lib/sidekiq/worker.rb
286
127
  - sidekiq.gemspec
128
+ - web/assets/images/apple-touch-icon.png
287
129
  - web/assets/images/favicon.ico
288
130
  - web/assets/images/logo.png
289
131
  - web/assets/images/status.png
290
132
  - web/assets/javascripts/application.js
133
+ - web/assets/javascripts/chart.min.js
134
+ - web/assets/javascripts/chartjs-plugin-annotation.min.js
291
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
139
+ - web/assets/stylesheets/application-rtl.css
292
140
  - web/assets/stylesheets/application.css
141
+ - web/assets/stylesheets/bootstrap-rtl.min.css
293
142
  - web/assets/stylesheets/bootstrap.css
143
+ - web/locales/ar.yml
294
144
  - web/locales/cs.yml
295
145
  - web/locales/da.yml
296
146
  - web/locales/de.yml
@@ -299,10 +149,12 @@ files:
299
149
  - web/locales/es.yml
300
150
  - web/locales/fa.yml
301
151
  - web/locales/fr.yml
152
+ - web/locales/he.yml
302
153
  - web/locales/hi.yml
303
154
  - web/locales/it.yml
304
155
  - web/locales/ja.yml
305
156
  - web/locales/ko.yml
157
+ - web/locales/lt.yml
306
158
  - web/locales/nb.yml
307
159
  - web/locales/nl.yml
308
160
  - web/locales/pl.yml
@@ -312,6 +164,8 @@ files:
312
164
  - web/locales/sv.yml
313
165
  - web/locales/ta.yml
314
166
  - web/locales/uk.yml
167
+ - web/locales/ur.yml
168
+ - web/locales/vi.yml
315
169
  - web/locales/zh-cn.yml
316
170
  - web/locales/zh-tw.yml
317
171
  - web/views/_footer.erb
@@ -325,6 +179,8 @@ files:
325
179
  - web/views/dashboard.erb
326
180
  - web/views/dead.erb
327
181
  - web/views/layout.erb
182
+ - web/views/metrics.erb
183
+ - web/views/metrics_for_job.erb
328
184
  - web/views/morgue.erb
329
185
  - web/views/queue.erb
330
186
  - web/views/queues.erb
@@ -332,11 +188,16 @@ files:
332
188
  - web/views/retry.erb
333
189
  - web/views/scheduled.erb
334
190
  - web/views/scheduled_job_info.erb
335
- homepage: http://sidekiq.org
191
+ homepage: https://sidekiq.org
336
192
  licenses:
337
193
  - LGPL-3.0
338
- metadata: {}
339
- post_install_message:
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
200
+ post_install_message:
340
201
  rdoc_options: []
341
202
  require_paths:
342
203
  - lib
@@ -344,16 +205,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
344
205
  requirements:
345
206
  - - ">="
346
207
  - !ruby/object:Gem::Version
347
- version: '0'
208
+ version: 2.5.0
348
209
  required_rubygems_version: !ruby/object:Gem::Requirement
349
210
  requirements:
350
211
  - - ">="
351
212
  - !ruby/object:Gem::Version
352
213
  version: '0'
353
214
  requirements: []
354
- rubyforge_project:
355
- rubygems_version: 2.5.2
356
- signing_key:
215
+ rubygems_version: 3.2.32
216
+ signing_key:
357
217
  specification_version: 4
358
218
  summary: Simple, efficient background processing for Ruby
359
219
  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