sidekiq-undertaker 1.6.0 → 1.8.0.rc01

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-build.yml +8 -6
  3. data/.rubocop.yml +6 -5
  4. data/.rubocop_codeclimate.yml +1 -1
  5. data/.rubocop_todo.yml +20 -8
  6. data/CHANGELOG.md +21 -0
  7. data/Gemfile +19 -2
  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/api_helpers.rb +44 -33
  11. data/lib/sidekiq/undertaker.rb +5 -3
  12. data/renovate.json +3 -2
  13. data/sidekiq-undertaker.gemspec +3 -24
  14. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_filter_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv8.approved.txt +377 -0
  15. 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_sidekiqv8.approved.txt +362 -0
  16. 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_sidekiqv8.approved.txt +362 -0
  17. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv8.approved.txt +352 -0
  18. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv8.approved.txt +352 -0
  19. 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_sidekiqv7.approved.txt → the_displayed_page_is_correct_for_sidekiqv8.approved.txt} +212 -98
  20. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv8.approved.txt +407 -0
  21. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/with_pagination/behaves_like_a_page/{the_displayed_page_is_correct_for_sidekiqv7.approved.txt → the_displayed_page_is_correct_for_sidekiqv8.approved.txt} +276 -160
  22. 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_sidekiqv8.approved.txt +407 -0
  23. 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_sidekiqv7.approved.txt → the_displayed_page_is_correct_for_sidekiqv8.approved.txt} +276 -160
  24. data/spec/sidekiq/undertaker/dead_jobs_spec.rb +2 -2
  25. data/spec/sidekiq/undertaker/web_extension_spec.rb +12 -13
  26. data/spec/spec_helper.rb +14 -1
  27. data/spec/support/monkey_patch/approvals/writers/text_writer.rb +20 -0
  28. metadata +17 -305
  29. data/.github/dependabot.yml +0 -8
  30. 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 +0 -256
  31. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_filter_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv7.approved.txt +0 -265
  32. 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 +0 -241
  33. 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_sidekiqv7.approved.txt +0 -250
  34. 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 +0 -241
  35. 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_sidekiqv7.approved.txt +0 -250
  36. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +0 -231
  37. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_called/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv7.approved.txt +0 -240
  38. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +0 -231
  39. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_filter/when_job_classerror_classbucket_page_is_polled/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv7.approved.txt +0 -240
  40. 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 +0 -326
  41. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +0 -284
  42. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv7.approved.txt +0 -293
  43. data/spec/fixtures/approvals/sidekiq_undertaker_webextension/show_morgue/when_job_classerrorbucket_is_called/with_job_class_error_and_specific_error_message/with_pagination/behaves_like_a_page/the_displayed_page_is_correct_for_sidekiqv6.approved.txt +0 -1310
  44. 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 +0 -284
  45. 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_sidekiqv7.approved.txt +0 -293
  46. 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 +0 -1310
@@ -1,256 +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
- <link href="/sidekiq/stylesheets/application-dark.css" media="screen and (prefers-color-scheme: dark)" rel="stylesheet" type="text/css" />
13
-
14
-
15
- <link rel="apple-touch-icon" href="/sidekiq/images/apple-touch-icon.png">
16
- <link rel="shortcut icon" type="image/ico" href="/sidekiq/images/favicon.ico" />
17
- <script type="text/javascript" src="/sidekiq/javascripts/application.js"></script>
18
- <meta name="google" content="notranslate" />
19
-
20
- </head>
21
- <body class="admin" data-locale="en">
22
- <div class="navbar navbar-default navbar-fixed-top">
23
- <div class="container-fluid">
24
- <div class="navbar-header" data-navbar="static">
25
- <button type="button" class="navbar-toggle collapsed" data-toggle="navbar-menu" data-target="#navbar-menu">
26
- <span class="icon-bar"></span>
27
- <span class="icon-bar"></span>
28
- <span class="icon-bar"></span>
29
- </button>
30
- <div class="navbar-toggle collapsed navbar-livereload">
31
-
32
- <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
33
- <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
34
-
35
-
36
-
37
- </div>
38
- <a class="navbar-brand" href="/sidekiq/">
39
- Sidekiq
40
- <span class="status">
41
- <i class="status-sprite status-idle"></i>
42
- idle
43
- </span>
44
-
45
- </a>
46
- </div>
47
-
48
- <div class="collapse navbar-collapse" id="navbar-menu">
49
- <ul class="nav navbar-nav" data-navbar="static">
50
-
51
-
52
- <li class="">
53
- <a href="/sidekiq/">Dashboard</a>
54
- </li>
55
-
56
-
57
-
58
- <li class="">
59
- <a href="/sidekiq/busy">Busy</a>
60
- </li>
61
-
62
-
63
-
64
- <li class="">
65
- <a href="/sidekiq/queues">Queues</a>
66
- </li>
67
-
68
-
69
-
70
- <li class="">
71
- <a href="/sidekiq/retries">Retries</a>
72
- </li>
73
-
74
-
75
-
76
- <li class="">
77
- <a href="/sidekiq/scheduled">Scheduled</a>
78
- </li>
79
-
80
-
81
-
82
- <li class="">
83
- <a href="/sidekiq/morgue">Dead</a>
84
- </li>
85
-
86
-
87
-
88
-
89
- <li class="active" data-navbar="custom-tab">
90
- <a href="/sidekiq/undertaker/filter">Undertaker</a>
91
- </li>
92
-
93
-
94
- <li class="navbar-livereload">
95
- <div class="poll-wrapper">
96
-
97
- <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
98
- <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
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 id="txtProcessed" class="count">0</span>
116
- <span class="desc">Processed</span>
117
- </li>
118
- <li class="failed col-sm-1">
119
- <span id="txtFailed" 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 id="txtBusy" 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 id="txtEnqueued" 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 id="txtRetries" 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 id="txtScheduled" 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 id="txtDead" 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>4</b> dead jobs
161
- </h3>
162
- </div>
163
- </header>
164
-
165
- <table class="table table-striped table-bordered table-white">
166
- <thead>
167
- <tr>
168
- <th style="width: 20%">Jobs</th>
169
- <th style="width: 10%">All</th>
170
- <th style="width: 10%">1 hour</th>
171
- <th style="width: 10%">3 hours</th>
172
- <th style="width: 10%">1 day</th>
173
- <th style="width: 10%">3 days</th>
174
- <th style="width: 10%">1 week</th>
175
- <th style="width: 10%">Older</th>
176
- </tr>
177
- </thead>
178
-
179
- <tr>
180
- <td><a href='/sidekiq/undertaker/morgue/all/all/all/total_dead'> all</a></td>
181
- <td><a href='/sidekiq/undertaker/filter/all/total_dead'>4</a></td>
182
- <td><a href='/sidekiq/undertaker/filter/all/1_hour'>4</a></td>
183
- <td><a href='/sidekiq/undertaker/filter/all/3_hours'>0</a></td>
184
- <td><a href='/sidekiq/undertaker/filter/all/1_day'>0</a></td>
185
- <td><a href='/sidekiq/undertaker/filter/all/3_days'>0</a></td>
186
- <td><a href='/sidekiq/undertaker/filter/all/1_week'>0</a></td>
187
- <td><a href='/sidekiq/undertaker/filter/all/older'>0</a></td>
188
- </tr>
189
-
190
- <tr>
191
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/all/total_dead'> HardWorker</a></td>
192
- <td><a href='/sidekiq/undertaker/filter/HardWorker/total_dead'>3</a></td>
193
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_hour'>3</a></td>
194
- <td><a href='/sidekiq/undertaker/filter/HardWorker/3_hours'>0</a></td>
195
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_day'>0</a></td>
196
- <td><a href='/sidekiq/undertaker/filter/HardWorker/3_days'>0</a></td>
197
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_week'>0</a></td>
198
- <td><a href='/sidekiq/undertaker/filter/HardWorker/older'>0</a></td>
199
- </tr>
200
-
201
- <tr>
202
- <td><a href='/sidekiq/undertaker/morgue/HardWorker1/all/all/total_dead'> HardWorker1</a></td>
203
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/total_dead'>1</a></td>
204
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_hour'>1</a></td>
205
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/3_hours'>0</a></td>
206
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_day'>0</a></td>
207
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/3_days'>0</a></td>
208
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_week'>0</a></td>
209
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/older'>0</a></td>
210
- </tr>
211
-
212
- </table>
213
-
214
- <header class="row header">
215
- <div class="col-sm-12">
216
- <h3>
217
- Import Jobs
218
- </h3>
219
- </div>
220
- </header>
221
-
222
- <form enctype="multipart/form-data" method="post" action='/sidekiq/undertaker/import_jobs'>
223
- <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
224
- <input type="file" id=upload_file" name="upload_file" >
225
- <button class="btn btn-danger" style="margin-top: 10px" type="submit">
226
- Import
227
- </button>
228
- </form>
229
-
230
- </div>
231
- </div>
232
- </div>
233
- </div>
234
- <div class="navbar navbar-fixed-bottom navbar-inverse ltr">
235
- <div class="navbar-inner">
236
- <div class="container text-center">
237
- <ul class="nav">
238
- <li>
239
- <p class="navbar-text product-version">Sidekiq v*EXCLUDED*</p>
240
- </li>
241
- <li>
242
- <p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
243
- </li>
244
- <li>
245
- <p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
246
- </li>
247
- <li>
248
- <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
249
- </li>
250
- </ul>
251
- </div>
252
- </div>
253
- </div>
254
-
255
- </body>
256
- </html>
@@ -1,265 +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
- <link href="/sidekiq/stylesheets/application-dark.css" media="screen and (prefers-color-scheme: dark)" rel="stylesheet" type="text/css" />
13
-
14
-
15
- <link rel="apple-touch-icon" href="/sidekiq/images/apple-touch-icon.png">
16
- <link rel="shortcut icon" type="image/ico" href="/sidekiq/images/favicon.ico" />
17
- <script type="text/javascript" src="/sidekiq/javascripts/application.js"></script>
18
- <meta name="google" content="notranslate" />
19
-
20
- </head>
21
- <body class="admin" data-locale="en">
22
- <div class="navbar navbar-default navbar-fixed-top">
23
- <div class="container-fluid">
24
- <div class="navbar-header" data-navbar="static">
25
- <button type="button" class="navbar-toggle collapsed" data-toggle="navbar-menu" data-target="#navbar-menu">
26
- <span class="icon-bar"></span>
27
- <span class="icon-bar"></span>
28
- <span class="icon-bar"></span>
29
- </button>
30
- <div class="navbar-toggle collapsed navbar-livereload">
31
-
32
- <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
33
- <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
34
-
35
-
36
-
37
- </div>
38
- <a class="navbar-brand" href="/sidekiq/">
39
- Sidekiq
40
- <span class="status">
41
- <i class="status-sprite status-idle"></i>
42
- idle
43
- </span>
44
-
45
- </a>
46
- </div>
47
-
48
- <div class="collapse navbar-collapse" id="navbar-menu">
49
- <ul class="nav navbar-nav" data-navbar="static">
50
-
51
-
52
- <li class="">
53
- <a href="/sidekiq/">Dashboard</a>
54
- </li>
55
-
56
-
57
-
58
- <li class="">
59
- <a href="/sidekiq/busy">Busy</a>
60
- </li>
61
-
62
-
63
-
64
- <li class="">
65
- <a href="/sidekiq/queues">Queues</a>
66
- </li>
67
-
68
-
69
-
70
- <li class="">
71
- <a href="/sidekiq/retries">Retries</a>
72
- </li>
73
-
74
-
75
-
76
- <li class="">
77
- <a href="/sidekiq/scheduled">Scheduled</a>
78
- </li>
79
-
80
-
81
-
82
- <li class="">
83
- <a href="/sidekiq/morgue">Dead</a>
84
- </li>
85
-
86
-
87
-
88
- <li class="">
89
- <a href="/sidekiq/metrics">Metrics</a>
90
- </li>
91
-
92
-
93
-
94
-
95
- <li class="active" data-navbar="custom-tab">
96
- <a href="/sidekiq/undertaker/filter">Undertaker</a>
97
- </li>
98
-
99
-
100
- <li class="navbar-livereload">
101
- <div class="poll-wrapper">
102
-
103
- <a class="live-poll-start live-poll btn btn-primary">Live Poll</a>
104
- <a class="live-poll-stop live-poll btn btn-primary active">Stop Polling</a>
105
-
106
-
107
-
108
- </div>
109
- </li>
110
- </ul>
111
- </div>
112
- </div>
113
- </div>
114
-
115
- <div id="page">
116
- <div class="container">
117
- <div class="row">
118
- <div class="col-sm-12 summary_bar">
119
- <ul class="list-unstyled summary row">
120
- <li class="processed col-sm-1">
121
- <span id="txtProcessed" class="count">0</span>
122
- <span class="desc">Processed</span>
123
- </li>
124
- <li class="failed col-sm-1">
125
- <span id="txtFailed" class="count">0</span>
126
- <span class="desc">Failed</span>
127
- </li>
128
- <li class="busy col-sm-1">
129
- <a href="/sidekiq/busy">
130
- <span id="txtBusy" class="count">0</span>
131
- <span class="desc">Busy</span>
132
- </a>
133
- </li>
134
- <li class="enqueued col-sm-1">
135
- <a href="/sidekiq/queues">
136
- <span id="txtEnqueued" class="count">0</span>
137
- <span class="desc">Enqueued</span>
138
- </a>
139
- </li>
140
- <li class="retries col-sm-1">
141
- <a href="/sidekiq/retries">
142
- <span id="txtRetries" class="count">0</span>
143
- <span class="desc">Retries</span>
144
- </a>
145
- </li>
146
- <li class="scheduled col-sm-1">
147
- <a href="/sidekiq/scheduled">
148
- <span id="txtScheduled" class="count">0</span>
149
- <span class="desc">Scheduled</span>
150
- </a>
151
- </li>
152
- <li class="dead col-sm-1">
153
- <a href="/sidekiq/morgue">
154
- <span id="txtDead" class="count">4</span>
155
- <span class="desc">Dead</span>
156
- </a>
157
- </li>
158
- </ul>
159
-
160
- </div>
161
-
162
- <div class="col-sm-12">
163
- <header class="row header">
164
- <div class="col-sm-12">
165
- <h3>
166
- <b>4</b> dead jobs
167
- </h3>
168
- </div>
169
- </header>
170
-
171
- <table class="table table-striped table-bordered table-white">
172
- <thead>
173
- <tr>
174
- <th style="width: 20%">Jobs</th>
175
- <th style="width: 10%">All</th>
176
- <th style="width: 10%">1 hour</th>
177
- <th style="width: 10%">3 hours</th>
178
- <th style="width: 10%">1 day</th>
179
- <th style="width: 10%">3 days</th>
180
- <th style="width: 10%">1 week</th>
181
- <th style="width: 10%">Older</th>
182
- </tr>
183
- </thead>
184
-
185
- <tr>
186
- <td><a href='/sidekiq/undertaker/morgue/all/all/all/total_dead'> all</a></td>
187
- <td><a href='/sidekiq/undertaker/filter/all/total_dead'>4</a></td>
188
- <td><a href='/sidekiq/undertaker/filter/all/1_hour'>4</a></td>
189
- <td><a href='/sidekiq/undertaker/filter/all/3_hours'>0</a></td>
190
- <td><a href='/sidekiq/undertaker/filter/all/1_day'>0</a></td>
191
- <td><a href='/sidekiq/undertaker/filter/all/3_days'>0</a></td>
192
- <td><a href='/sidekiq/undertaker/filter/all/1_week'>0</a></td>
193
- <td><a href='/sidekiq/undertaker/filter/all/older'>0</a></td>
194
- </tr>
195
-
196
- <tr>
197
- <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/all/total_dead'> HardWorker</a></td>
198
- <td><a href='/sidekiq/undertaker/filter/HardWorker/total_dead'>3</a></td>
199
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_hour'>3</a></td>
200
- <td><a href='/sidekiq/undertaker/filter/HardWorker/3_hours'>0</a></td>
201
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_day'>0</a></td>
202
- <td><a href='/sidekiq/undertaker/filter/HardWorker/3_days'>0</a></td>
203
- <td><a href='/sidekiq/undertaker/filter/HardWorker/1_week'>0</a></td>
204
- <td><a href='/sidekiq/undertaker/filter/HardWorker/older'>0</a></td>
205
- </tr>
206
-
207
- <tr>
208
- <td><a href='/sidekiq/undertaker/morgue/HardWorker1/all/all/total_dead'> HardWorker1</a></td>
209
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/total_dead'>1</a></td>
210
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_hour'>1</a></td>
211
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/3_hours'>0</a></td>
212
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_day'>0</a></td>
213
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/3_days'>0</a></td>
214
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/1_week'>0</a></td>
215
- <td><a href='/sidekiq/undertaker/filter/HardWorker1/older'>0</a></td>
216
- </tr>
217
-
218
- </table>
219
-
220
- <header class="row header">
221
- <div class="col-sm-12">
222
- <h3>
223
- Import Jobs
224
- </h3>
225
- </div>
226
- </header>
227
-
228
- <form enctype="multipart/form-data" method="post" action='/sidekiq/undertaker/import_jobs'>
229
- <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
230
- <input type="file" id=upload_file" name="upload_file" >
231
- <button class="btn btn-danger" style="margin-top: 10px" type="submit">
232
- Import
233
- </button>
234
- </form>
235
-
236
- </div>
237
- </div>
238
- </div>
239
- </div>
240
- <div class="navbar navbar-fixed-bottom navbar-inverse ltr">
241
- <div class="navbar-inner">
242
- <div class="container text-center">
243
- <ul class="nav">
244
- <li>
245
- <p class="navbar-text product-version">Sidekiq v*EXCLUDED*</p>
246
- </li>
247
- <li>
248
- <p class="navbar-text redis-url" title="redis://localhost:6379/0">redis://localhost:6379/0</p>
249
- </li>
250
- <li>
251
- <p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
252
- </li>
253
- <li>
254
- <p class="navbar-text"><a rel=help href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
255
- </li>
256
- <li>
257
- <p class="navbar-text"><a rel=external href="https://github.com/mperham/sidekiq/tree/main/web/locales">en</a></p>
258
- </li>
259
- </ul>
260
- </div>
261
- </div>
262
- </div>
263
-
264
- </body>
265
- </html>