sidekiq-undertaker 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.rubocop.yml +5 -0
  4. data/.rubocop_todo.yml +5 -5
  5. data/.travis.yml +21 -19
  6. data/README.md +2 -1
  7. data/Rakefile +2 -0
  8. data/lib/sidekiq/undertaker/dead_job.rb +1 -1
  9. data/lib/sidekiq/undertaker/version.rb +1 -1
  10. data/lib/sidekiq/undertaker/web_extension.rb +2 -0
  11. data/lib/sidekiq/undertaker.rb +1 -1
  12. data/sidekiq-undertaker.gemspec +8 -5
  13. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_filter_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  14. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  15. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  16. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_all_failures_and_errors/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  17. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  18. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/with_pagination/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +1 -1
  19. data/spec/sidekiq/undertaker/job_distributor_spec.rb +2 -2
  20. metadata +26 -30
  21. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_filter_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -240
  22. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -241
  23. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -241
  24. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_all_failures_and_errors/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -319
  25. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -277
  26. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_specific_job_class_and_a_specific_error/with_pagination/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv5.approved.txt +0 -1303
@@ -1,241 +0,0 @@
1
- <!doctype html>
2
- <html dir="ltr">
3
- <head>
4
- <title>[TEST] Sidekiq</title>
5
- <meta charset="utf-8" />
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
-
8
- <link href="/sidekiq/stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
9
-
10
-
11
- <link href="/sidekiq/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
12
-
13
-
14
- <link rel="shortcut icon" type="image/ico" href="/sidekiq/images/favicon.ico" />
15
- <script type="text/javascript" src="/sidekiq/javascripts/application.js"></script>
16
- <meta name="google" content="notranslate" />
17
-
18
- </head>
19
- <body class="admin" data-poll-path="/sidekiq/undertaker/filter/HardWorker/1_hour" data-locale="en">
20
- <div class="navbar navbar-default navbar-fixed-top">
21
- <div class="container-fluid">
22
- <div class="navbar-header" data-navbar="static">
23
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-menu">
24
- <span class="icon-bar"></span>
25
- <span class="icon-bar"></span>
26
- <span class="icon-bar"></span>
27
- </button>
28
- <div class="navbar-toggle collapsed navbar-livereload">
29
-
30
-
31
- <a id="live-poll" class="btn btn-primary active" href="/sidekiq/undertaker/filter/HardWorker/1_hour">Stop Polling</a>
32
-
33
-
34
-
35
-
36
- </div>
37
- <a class="navbar-brand" href="/sidekiq/">
38
- Sidekiq
39
- <span class="status">
40
- <i class="status-sprite status-idle"></i>
41
- idle
42
- </span>
43
-
44
- </a>
45
- </div>
46
-
47
- <div class="collapse navbar-collapse" id="navbar-menu">
48
- <ul class="nav navbar-nav" data-navbar="static">
49
-
50
-
51
- <li class="">
52
- <a href="/sidekiq/">Dashboard</a>
53
- </li>
54
-
55
-
56
-
57
- <li class="">
58
- <a href="/sidekiq/busy">Busy</a>
59
- </li>
60
-
61
-
62
-
63
- <li class="">
64
- <a href="/sidekiq/queues">Queues</a>
65
- </li>
66
-
67
-
68
-
69
- <li class="">
70
- <a href="/sidekiq/retries">Retries</a>
71
- </li>
72
-
73
-
74
-
75
- <li class="">
76
- <a href="/sidekiq/scheduled">Scheduled</a>
77
- </li>
78
-
79
-
80
-
81
- <li class="">
82
- <a href="/sidekiq/morgue">Dead</a>
83
- </li>
84
-
85
-
86
-
87
-
88
- <li class="active" data-navbar="custom-tab">
89
- <a href="/sidekiq/undertaker/filter">Undertaker</a>
90
- </li>
91
-
92
-
93
- <li class="navbar-livereload">
94
- <div class="poll-wrapper">
95
-
96
-
97
- <a id="live-poll" class="btn btn-primary active" href="/sidekiq/undertaker/filter/HardWorker/1_hour">Stop Polling</a>
98
-
99
-
100
-
101
-
102
- </div>
103
- </li>
104
- </ul>
105
- </div>
106
- </div>
107
- </div>
108
-
109
- <div id="page">
110
- <div class="container">
111
- <div class="row">
112
- <div class="col-sm-12 summary_bar">
113
- <ul class="list-unstyled summary row">
114
- <li class="processed col-sm-1">
115
- <span class="count">0</span>
116
- <span class="desc">Processed</span>
117
- </li>
118
- <li class="failed col-sm-1">
119
- <span class="count">0</span>
120
- <span class="desc">Failed</span>
121
- </li>
122
- <li class="busy col-sm-1">
123
- <a href="/sidekiq/busy">
124
- <span class="count">0</span>
125
- <span class="desc">Busy</span>
126
- </a>
127
- </li>
128
- <li class="enqueued col-sm-1">
129
- <a href="/sidekiq/queues">
130
- <span class="count">0</span>
131
- <span class="desc">Enqueued</span>
132
- </a>
133
- </li>
134
- <li class="retries col-sm-1">
135
- <a href="/sidekiq/retries">
136
- <span class="count">0</span>
137
- <span class="desc">Retries</span>
138
- </a>
139
- </li>
140
- <li class="scheduled col-sm-1">
141
- <a href="/sidekiq/scheduled">
142
- <span class="count">0</span>
143
- <span class="desc">Scheduled</span>
144
- </a>
145
- </li>
146
- <li class="dead col-sm-1">
147
- <a href="/sidekiq/morgue">
148
- <span class="count">4</span>
149
- <span class="desc">Dead</span>
150
- </a>
151
- </li>
152
- </ul>
153
-
154
- </div>
155
-
156
- <div class="col-sm-12">
157
- <header class="row header">
158
- <div class="col-sm-12">
159
- <h3>
160
- <b>3</b> dead jobs
161
- of <b>HardWorker</b> class
162
- </h3>
163
- </div>
164
- </header>
165
-
166
- <table class="table table-striped table-bordered table-white">
167
- <thead>
168
- <tr>
169
- <th style="width: 20%">Error</th>
170
- <th style="width: 10%">All</th>
171
- <th style="width: 10%">1 hour</th>
172
- <th style="width: 10%">3 hours</th>
173
- <th style="width: 10%">1 day</th>
174
- <th style="width: 10%">3 days</th>
175
- <th style="width: 10%">1 week</th>
176
- <th style="width: 10%">Older</th>
177
- </tr>
178
- </thead>
179
-
180
- <tr>
181
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/total_dead'>all</a></td>
182
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/total_dead'>3</a></td>
183
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/1_hour'>3</a></td>
184
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/3_hours'>0</a></td>
185
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/1_day'>0</a></td>
186
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/3_days'>0</a></td>
187
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/1_week'>0</a></td>
188
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/older'>0</a></td>
189
- </tr>
190
-
191
- <tr>
192
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/total_dead'>RuntimeError</a></td>
193
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/total_dead'>2</a></td>
194
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour'>2</a></td>
195
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/3_hours'>0</a></td>
196
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_day'>0</a></td>
197
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/3_days'>0</a></td>
198
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_week'>0</a></td>
199
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/older'>0</a></td>
200
- </tr>
201
-
202
- <tr>
203
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/total_dead'>NoMethodError</a></td>
204
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/total_dead'>1</a></td>
205
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/1_hour'>1</a></td>
206
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/3_hours'>0</a></td>
207
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/1_day'>0</a></td>
208
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/3_days'>0</a></td>
209
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/1_week'>0</a></td>
210
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/older'>0</a></td>
211
- </tr>
212
-
213
- </table>
214
-
215
- </div>
216
- </div>
217
- </div>
218
- </div>
219
- <div class="navbar navbar-fixed-bottom navbar-inverse ltr">
220
- <div class="navbar-inner">
221
- <div class="container text-center">
222
- <ul class="nav">
223
- <li>
224
- <p class="navbar-text product-version">Sidekiq v*EXCLUDED*</p>
225
- </li>
226
- <li>
227
- <p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
228
- </li>
229
- <li>
230
- <p class="navbar-text server-utc-time">20:57:00 UTC</p>
231
- </li>
232
- <li>
233
- <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
234
- </li>
235
- </ul>
236
- </div>
237
- </div>
238
- </div>
239
-
240
- </body>
241
- </html>
@@ -1,319 +0,0 @@
1
- <!doctype html>
2
- <html dir="ltr">
3
- <head>
4
- <title>[TEST] Sidekiq</title>
5
- <meta charset="utf-8" />
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
-
8
- <link href="/sidekiq/stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
9
-
10
-
11
- <link href="/sidekiq/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
12
-
13
-
14
- <link rel="shortcut icon" type="image/ico" href="/sidekiq/images/favicon.ico" />
15
- <script type="text/javascript" src="/sidekiq/javascripts/application.js"></script>
16
- <meta name="google" content="notranslate" />
17
-
18
- </head>
19
- <body class="admin" data-poll-path="" data-locale="en">
20
- <div class="navbar navbar-default navbar-fixed-top">
21
- <div class="container-fluid">
22
- <div class="navbar-header" data-navbar="static">
23
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-menu">
24
- <span class="icon-bar"></span>
25
- <span class="icon-bar"></span>
26
- <span class="icon-bar"></span>
27
- </button>
28
- <div class="navbar-toggle collapsed navbar-livereload">
29
-
30
-
31
- <a id="live-poll" class="btn btn-primary" href="/sidekiq/undertaker/morgue/all/all/total_dead?poll=true">Live Poll</a>
32
-
33
-
34
-
35
-
36
- </div>
37
- <a class="navbar-brand" href="/sidekiq/">
38
- Sidekiq
39
- <span class="status">
40
- <i class="status-sprite status-idle"></i>
41
- idle
42
- </span>
43
-
44
- </a>
45
- </div>
46
-
47
- <div class="collapse navbar-collapse" id="navbar-menu">
48
- <ul class="nav navbar-nav" data-navbar="static">
49
-
50
-
51
- <li class="">
52
- <a href="/sidekiq/">Dashboard</a>
53
- </li>
54
-
55
-
56
-
57
- <li class="">
58
- <a href="/sidekiq/busy">Busy</a>
59
- </li>
60
-
61
-
62
-
63
- <li class="">
64
- <a href="/sidekiq/queues">Queues</a>
65
- </li>
66
-
67
-
68
-
69
- <li class="">
70
- <a href="/sidekiq/retries">Retries</a>
71
- </li>
72
-
73
-
74
-
75
- <li class="">
76
- <a href="/sidekiq/scheduled">Scheduled</a>
77
- </li>
78
-
79
-
80
-
81
- <li class="">
82
- <a href="/sidekiq/morgue">Dead</a>
83
- </li>
84
-
85
-
86
-
87
-
88
- <li class="" data-navbar="custom-tab">
89
- <a href="/sidekiq/undertaker/filter">Undertaker</a>
90
- </li>
91
-
92
-
93
- <li class="navbar-livereload">
94
- <div class="poll-wrapper">
95
-
96
-
97
- <a id="live-poll" class="btn btn-primary" href="/sidekiq/undertaker/morgue/all/all/total_dead?poll=true">Live Poll</a>
98
-
99
-
100
-
101
-
102
- </div>
103
- </li>
104
- </ul>
105
- </div>
106
- </div>
107
- </div>
108
-
109
- <div id="page">
110
- <div class="container">
111
- <div class="row">
112
- <div class="col-sm-12 summary_bar">
113
- <ul class="list-unstyled summary row">
114
- <li class="processed col-sm-1">
115
- <span class="count">0</span>
116
- <span class="desc">Processed</span>
117
- </li>
118
- <li class="failed col-sm-1">
119
- <span class="count">0</span>
120
- <span class="desc">Failed</span>
121
- </li>
122
- <li class="busy col-sm-1">
123
- <a href="/sidekiq/busy">
124
- <span class="count">0</span>
125
- <span class="desc">Busy</span>
126
- </a>
127
- </li>
128
- <li class="enqueued col-sm-1">
129
- <a href="/sidekiq/queues">
130
- <span class="count">0</span>
131
- <span class="desc">Enqueued</span>
132
- </a>
133
- </li>
134
- <li class="retries col-sm-1">
135
- <a href="/sidekiq/retries">
136
- <span class="count">0</span>
137
- <span class="desc">Retries</span>
138
- </a>
139
- </li>
140
- <li class="scheduled col-sm-1">
141
- <a href="/sidekiq/scheduled">
142
- <span class="count">0</span>
143
- <span class="desc">Scheduled</span>
144
- </a>
145
- </li>
146
- <li class="dead col-sm-1">
147
- <a href="/sidekiq/morgue">
148
- <span class="count">4</span>
149
- <span class="desc">Dead</span>
150
- </a>
151
- </li>
152
- </ul>
153
-
154
- </div>
155
-
156
- <div class="col-sm-12">
157
- <header class="row head">
158
- <div class="col-sm-12">
159
- <h3>
160
- <b>4</b> dead jobs
161
-
162
-
163
- in <b>total_dead</b> bucket
164
- </h3>
165
- </div>
166
- <div class="col-sm-12">
167
- <div class="col-sm-4">
168
-
169
-
170
- </div>
171
- </div>
172
- </header>
173
-
174
-
175
- <form action="/sidekiq/undertaker/morgue" method="post">
176
- <input type='hidden' name='authenticity_token' value=''/>
177
- <table class="table table-striped table-bordered table-white">
178
- <thead>
179
- <tr>
180
- <th width="20px" class="table-checkbox">
181
- <label>
182
- <input type="checkbox" class="check_all" />
183
- </label>
184
- </th>
185
- <th width="25%">Last Retry</th>
186
- <th>Queue</th>
187
- <th>Job</th>
188
- <th>Arguments</th>
189
- <th>Error</th>
190
- </tr>
191
- </thead>
192
-
193
- <tr>
194
- <td class="table-checkbox">
195
- <label>
196
- <input type='checkbox' name='key[]' value='1544993820.0-bfa4a272cdcac8bfac7b9f1a' />
197
- </label>
198
- </td>
199
- <td>
200
- <a href="/sidekiq/morgue/1544993820.0-bfa4a272cdcac8bfac7b9f1a"><time class="ltr" dir="ltr" title="2018-12-16T20:57:00Z" datetime="2018-12-16T20:57:00Z">2018-12-16 20:57:00 UTC</time></a>
201
- </td>
202
- <td>
203
- <a href="/sidekiq/queues/foo">foo</a>
204
- </td>
205
- <td>HardWorker1</td>
206
- <td>
207
- <div class="args">&quot;asdf&quot;, 1234</div>
208
- </td>
209
- <td>
210
- <div>NoMethodError: Some fake message</div>
211
- </td>
212
- </tr>
213
-
214
- <tr>
215
- <td class="table-checkbox">
216
- <label>
217
- <input type='checkbox' name='key[]' value='1544993820.0-4416aa76eb8cf03f56a49220' />
218
- </label>
219
- </td>
220
- <td>
221
- <a href="/sidekiq/morgue/1544993820.0-4416aa76eb8cf03f56a49220"><time class="ltr" dir="ltr" title="2018-12-16T20:57:00Z" datetime="2018-12-16T20:57:00Z">2018-12-16 20:57:00 UTC</time></a>
222
- </td>
223
- <td>
224
- <a href="/sidekiq/queues/foo">foo</a>
225
- </td>
226
- <td>HardWorker</td>
227
- <td>
228
- <div class="args">&quot;asdf&quot;, 1234</div>
229
- </td>
230
- <td>
231
- <div>RuntimeError: Some fake message</div>
232
- </td>
233
- </tr>
234
-
235
- <tr>
236
- <td class="table-checkbox">
237
- <label>
238
- <input type='checkbox' name='key[]' value='1544993820.0-34e79a46b1956d3a1180767b' />
239
- </label>
240
- </td>
241
- <td>
242
- <a href="/sidekiq/morgue/1544993820.0-34e79a46b1956d3a1180767b"><time class="ltr" dir="ltr" title="2018-12-16T20:57:00Z" datetime="2018-12-16T20:57:00Z">2018-12-16 20:57:00 UTC</time></a>
243
- </td>
244
- <td>
245
- <a href="/sidekiq/queues/foo">foo</a>
246
- </td>
247
- <td>HardWorker</td>
248
- <td>
249
- <div class="args">&quot;asdf&quot;, 1234</div>
250
- </td>
251
- <td>
252
- <div>RuntimeError: Some fake message</div>
253
- </td>
254
- </tr>
255
-
256
- <tr>
257
- <td class="table-checkbox">
258
- <label>
259
- <input type='checkbox' name='key[]' value='1544993820.0-8d08674fce759ac75d1a6e75' />
260
- </label>
261
- </td>
262
- <td>
263
- <a href="/sidekiq/morgue/1544993820.0-8d08674fce759ac75d1a6e75"><time class="ltr" dir="ltr" title="2018-12-16T20:57:00Z" datetime="2018-12-16T20:57:00Z">2018-12-16 20:57:00 UTC</time></a>
264
- </td>
265
- <td>
266
- <a href="/sidekiq/queues/foo">foo</a>
267
- </td>
268
- <td>HardWorker</td>
269
- <td>
270
- <div class="args">&quot;asdf&quot;, 1234</div>
271
- </td>
272
- <td>
273
- <div>NoMethodError: Some fake message</div>
274
- </td>
275
- </tr>
276
-
277
- </table>
278
- <input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="Revive" />
279
- <input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
280
- </form>
281
-
282
- <form action="/sidekiq/undertaker/morgue/all/all/total_dead/delete" method="post">
283
- <input type='hidden' name='authenticity_token' value=''/>
284
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
285
- </form>
286
-
287
- <form action="/sidekiq/undertaker/morgue/all/all/total_dead/retry" method="post">
288
- <input type='hidden' name='authenticity_token' value=''/>
289
- <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
290
- </form>
291
-
292
-
293
- </div>
294
- </div>
295
- </div>
296
- </div>
297
- <div class="navbar navbar-fixed-bottom navbar-inverse ltr">
298
- <div class="navbar-inner">
299
- <div class="container text-center">
300
- <ul class="nav">
301
- <li>
302
- <p class="navbar-text product-version">Sidekiq v*EXCLUDED*</p>
303
- </li>
304
- <li>
305
- <p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
306
- </li>
307
- <li>
308
- <p class="navbar-text server-utc-time">20:57:00 UTC</p>
309
- </li>
310
- <li>
311
- <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
312
- </li>
313
- </ul>
314
- </div>
315
- </div>
316
- </div>
317
-
318
- </body>
319
- </html>