sidekiq-undertaker 1.5.0 → 1.6.0

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 (19) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.github/workflows/ruby-build.yml +10 -10
  4. data/.rubocop.yml +1 -1
  5. data/.rubocop_codeclimate.yml +1 -1
  6. data/CHANGELOG.md +6 -0
  7. data/lib/sidekiq/undertaker/version.rb +1 -1
  8. data/sidekiq-undertaker.gemspec +7 -7
  9. 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 +265 -0
  10. 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 +250 -0
  11. 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 +250 -0
  12. 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 +240 -0
  13. 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 +240 -0
  14. 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 +335 -0
  15. 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 +293 -0
  16. 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 +1319 -0
  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_sidekiqv7.approved.txt +293 -0
  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_sidekiqv7.approved.txt +1319 -0
  19. metadata +68 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be6e466de018cc344512e76981a4f4c98ea436873d666dc8b49ddaba592e2cd3
4
- data.tar.gz: c2667a175749a46487e8f807b800e7a06835365f421591d0af6b1e36c8cd2465
3
+ metadata.gz: f75ca3784fd83c8eecbaa7cd9a8159577b0f1fe8dd6b7a0d05a7873d58650778
4
+ data.tar.gz: 59c031dc4a5d2aceeea04a099fce4935ab7f43989e50f4353c03d0c5a6690c89
5
5
  SHA512:
6
- metadata.gz: fe72efc8d5ddce343d8df6adb821efbe12bf92701743fb30f757217ffb19be3a5485e4ca0036432c01f537ed48469fcf306d40a66859aa17524b638cafb5d980
7
- data.tar.gz: ccbcf7042e8a80cee8a22400e496cbb8884d9b76ba7e6c177ee368d134dc421e03dfe2e1599debf787a9ebacb719870b1cfa8265707c3c905e442b7ab6f37402
6
+ metadata.gz: f5a04ed46664c16dcea8107c76b9421bea08516d08a343d82bfeebd2323d97ff4b57ec1f5c1c1c0ad400af09746341db141d2fdcd35533ca5c5d6b2330182efd
7
+ data.tar.gz: 52f8e24affefceed9019eb88c82318ff391096fa00c17ea2200da4d69297edc0f238b072a2446154678a4e5c4de38eed818f1025aac896ab06cd73a7e7c33ff0
data/.codeclimate.yml CHANGED
@@ -8,6 +8,6 @@ plugins:
8
8
  enabled: true
9
9
  rubocop:
10
10
  enabled: true
11
- channel: rubocop-1-8-1
11
+ channel: rubocop-1-31-0
12
12
  config:
13
13
  file: .rubocop_codeclimate.yml
@@ -17,6 +17,7 @@ jobs:
17
17
  test:
18
18
 
19
19
  runs-on: ubuntu-latest
20
+ continue-on-error: ${{ matrix.experimental }} # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error
20
21
 
21
22
  services:
22
23
  redis:
@@ -28,15 +29,14 @@ jobs:
28
29
  fail-fast: false
29
30
  matrix:
30
31
  # SEE: https://github.com/ruby/setup-ruby#supported-versions
31
- ruby-version:
32
- - 'ruby'
33
- - '3.1'
34
- - '2.7'
35
- - 'jruby'
36
- - 'jruby-9.3.2.0'
37
- - 'jruby-9.2.20.1'
38
- - 'truffleruby'
39
- - 'truffleruby+graalvm'
32
+ # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations
33
+ ruby-version: ['ruby', '3.1', '2.7.6', 'jruby', 'jruby-9.3.9.0']
34
+ experimental: [false]
35
+ include: # HINT: Do not use arrays for values here
36
+ - ruby-version: 'truffleruby'
37
+ experimental: true
38
+ - ruby-version: 'truffleruby+graalvm'
39
+ experimental: true
40
40
 
41
41
  env:
42
42
  JRUBY_OPTS: '--debug'
@@ -71,7 +71,7 @@ jobs:
71
71
  with:
72
72
  name: coverage-report
73
73
  path: ./coverage
74
- - uses: paambaati/codeclimate-action@v3.0.0
74
+ - uses: paambaati/codeclimate-action@v3.2.0
75
75
  env:
76
76
  # Set CC_TEST_REPORTER_ID as secret of your repo
77
77
  CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
data/.rubocop.yml CHANGED
@@ -6,7 +6,7 @@ require:
6
6
  inherit_from: .rubocop_todo.yml
7
7
 
8
8
  AllCops:
9
- TargetRubyVersion: 2.5
9
+ TargetRubyVersion: 2.6
10
10
 
11
11
  Layout/LineLength:
12
12
  Exclude:
@@ -7,7 +7,7 @@ inherit_from:
7
7
  - .rubocop_todo.yml
8
8
 
9
9
  AllCops:
10
- TargetRubyVersion: 2.5
10
+ TargetRubyVersion: 2.6
11
11
 
12
12
  Layout/LineLength:
13
13
  Exclude:
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [1.6.0] - 2022-11-02
6
+
7
+ ### Changed
8
+ - Updated rubocop to version 1.37 and set the required_ruby_version to >= 2.6
9
+ - Update sidekiq dependency to allow version 7
10
+
5
11
  ## [1.5.0] - 2022-09-06
6
12
 
7
13
  ### Changed
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sidekiq
4
4
  module Undertaker
5
- VERSION = "1.5.0"
5
+ VERSION = "1.6.0"
6
6
  end
7
7
  end
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  "rubygems_mfa_required" => "true"
28
28
  }
29
29
 
30
- spec.required_ruby_version = ">= 2.5.0"
30
+ spec.required_ruby_version = ">= 2.6.0"
31
31
 
32
32
  spec.files = `git ls-files -z`.split("\x0")
33
33
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -45,15 +45,15 @@ Gem::Specification.new do |spec|
45
45
  spec.add_development_dependency "rspec-core", "~> 3.8"
46
46
  spec.add_development_dependency "rspec-mocks", "~> 3.8"
47
47
  spec.add_development_dependency "rspec-sidekiq", "~> 3.0"
48
- spec.add_development_dependency "rt_rubocop_defaults", "~> 2.3"
49
- spec.add_development_dependency "rubocop", "~> 1.28"
50
- spec.add_development_dependency "rubocop-rake", "~> 0.5"
51
- spec.add_development_dependency "rubocop-rspec", "~> 2.0"
52
- spec.add_development_dependency "rubocop_runner", "~> 2.1"
48
+ spec.add_development_dependency "rt_rubocop_defaults", "~> 2.4"
49
+ spec.add_development_dependency "rubocop", "~> 1.37"
50
+ spec.add_development_dependency "rubocop-rake", "~> 0.6"
51
+ spec.add_development_dependency "rubocop-rspec", "~> 2.14"
52
+ spec.add_development_dependency "rubocop_runner", "~> 2.2"
53
53
  spec.add_development_dependency "simplecov", "~> 0.21"
54
54
  spec.add_development_dependency "sinatra", "~> 2.0"
55
55
  spec.add_development_dependency "timecop", "~> 0.9"
56
56
 
57
57
  spec.add_runtime_dependency "rubyzip", "~> 2.3"
58
- spec.add_runtime_dependency "sidekiq", ">= 6.4", "< 7"
58
+ spec.add_runtime_dependency "sidekiq", ">= 6.4", "< 8"
59
59
  end
@@ -0,0 +1,265 @@
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>
@@ -0,0 +1,250 @@
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>3</b> dead jobs
167
+ of <b>HardWorker</b> class
168
+ </h3>
169
+ </div>
170
+ </header>
171
+
172
+ <table class="table table-striped table-bordered table-white">
173
+ <thead>
174
+ <tr>
175
+ <th style="width: 20%">Error</th>
176
+ <th style="width: 10%">All</th>
177
+ <th style="width: 10%">1 hour</th>
178
+ <th style="width: 10%">3 hours</th>
179
+ <th style="width: 10%">1 day</th>
180
+ <th style="width: 10%">3 days</th>
181
+ <th style="width: 10%">1 week</th>
182
+ <th style="width: 10%">Older</th>
183
+ </tr>
184
+ </thead>
185
+
186
+ <tr>
187
+ <td><a href='/sidekiq/undertaker/morgue/HardWorker/all/all/total_dead'>all</a></td>
188
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/total_dead'>3</a></td>
189
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/1_hour'>3</a></td>
190
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/3_hours'>0</a></td>
191
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/1_day'>0</a></td>
192
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/3_days'>0</a></td>
193
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/1_week'>0</a></td>
194
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/all/older'>0</a></td>
195
+ </tr>
196
+
197
+ <tr>
198
+ <td><a href='/sidekiq/undertaker/morgue/HardWorker/RuntimeError/all/total_dead'>RuntimeError</a></td>
199
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/total_dead'>2</a></td>
200
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/1_hour'>2</a></td>
201
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/3_hours'>0</a></td>
202
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/1_day'>0</a></td>
203
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/3_days'>0</a></td>
204
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/1_week'>0</a></td>
205
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/RuntimeError/older'>0</a></td>
206
+ </tr>
207
+
208
+ <tr>
209
+ <td><a href='/sidekiq/undertaker/morgue/HardWorker/NoMethodError/all/total_dead'>NoMethodError</a></td>
210
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/total_dead'>1</a></td>
211
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/1_hour'>1</a></td>
212
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/3_hours'>0</a></td>
213
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/1_day'>0</a></td>
214
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/3_days'>0</a></td>
215
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/1_week'>0</a></td>
216
+ <td><a href='/sidekiq/undertaker/filter/HardWorker/NoMethodError/older'>0</a></td>
217
+ </tr>
218
+
219
+ </table>
220
+
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ <div class="navbar navbar-fixed-bottom navbar-inverse ltr">
226
+ <div class="navbar-inner">
227
+ <div class="container text-center">
228
+ <ul class="nav">
229
+ <li>
230
+ <p class="navbar-text product-version">Sidekiq v*EXCLUDED*</p>
231
+ </li>
232
+ <li>
233
+ <p class="navbar-text redis-url" title="redis://localhost:6379/0">redis://localhost:6379/0</p>
234
+ </li>
235
+ <li>
236
+ <p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
237
+ </li>
238
+ <li>
239
+ <p class="navbar-text"><a rel=help href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
240
+ </li>
241
+ <li>
242
+ <p class="navbar-text"><a rel=external href="https://github.com/mperham/sidekiq/tree/main/web/locales">en</a></p>
243
+ </li>
244
+ </ul>
245
+ </div>
246
+ </div>
247
+ </div>
248
+
249
+ </body>
250
+ </html>