sidekiq-undertaker 1.1.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-build.yml +31 -3
- data/.rubocop.yml +4 -0
- data/.rubocop_codeclimate.yml +9 -0
- data/CHANGELOG.md +19 -0
- data/README.md +8 -6
- data/assets/Undertaker_demo_1_job_1_error.png +0 -0
- data/assets/Undertaker_demo_1_job_all_errors.png +0 -0
- data/assets/Undertaker_demo_all_errors.png +0 -0
- data/assets/Undertaker_demo_all_jobs.png +0 -0
- data/assets/Undertaker_demo_all_jobs_1_error.png +0 -0
- data/lib/sidekiq/undertaker/dead_job.rb +10 -2
- data/lib/sidekiq/undertaker/job_distributor.rb +4 -0
- data/lib/sidekiq/undertaker/job_filter.rb +7 -2
- data/lib/sidekiq/undertaker/version.rb +1 -1
- data/lib/sidekiq/undertaker/web_extension/api_helpers.rb +104 -26
- data/lib/sidekiq/undertaker/web_extension.rb +17 -8
- data/sidekiq-undertaker.gemspec +6 -5
- 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 +32 -18
- 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 +37 -39
- 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 +37 -39
- 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 +231 -0
- 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 +231 -0
- 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 +26 -21
- 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 +284 -0
- 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 +1310 -0
- 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 +24 -19
- 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 +72 -67
- data/spec/sidekiq/undertaker/dead_jobs_spec.rb +7 -4
- data/spec/sidekiq/undertaker/job_distributor_spec.rb +41 -19
- data/spec/sidekiq/undertaker/job_filter_spec.rb +26 -9
- data/spec/sidekiq/undertaker/web_extension_spec.rb +172 -14
- data/spec/spec_helper.rb +4 -0
- data/web/locales/en.yml +2 -0
- data/web/views/filter.erb +17 -1
- data/web/views/filter_job_class.erb +8 -8
- data/web/views/filter_job_class_error_class.erb +36 -0
- data/web/views/morgue.erb +9 -2
- metadata +38 -30
- data/.travis.yml +0 -51
- data/Demo_Filter.png +0 -0
- data/Demo_Job_Filter.png +0 -0
- data/Demo_Morgue_1_Job.png +0 -0
- data/Demo_Morgue_all.png +0 -0
@@ -18,7 +18,7 @@
|
|
18
18
|
<meta name="google" content="notranslate" />
|
19
19
|
|
20
20
|
</head>
|
21
|
-
<body class="admin" data-
|
21
|
+
<body class="admin" data-locale="en">
|
22
22
|
<div class="navbar navbar-default navbar-fixed-top">
|
23
23
|
<div class="container-fluid">
|
24
24
|
<div class="navbar-header" data-navbar="static">
|
@@ -29,9 +29,8 @@
|
|
29
29
|
</button>
|
30
30
|
<div class="navbar-toggle collapsed navbar-livereload">
|
31
31
|
|
32
|
-
|
33
|
-
<a
|
34
|
-
|
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>
|
35
34
|
|
36
35
|
|
37
36
|
|
@@ -95,9 +94,8 @@
|
|
95
94
|
<li class="navbar-livereload">
|
96
95
|
<div class="poll-wrapper">
|
97
96
|
|
98
|
-
|
99
|
-
<a
|
100
|
-
|
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>
|
101
99
|
|
102
100
|
|
103
101
|
|
@@ -114,40 +112,40 @@
|
|
114
112
|
<div class="col-sm-12 summary_bar">
|
115
113
|
<ul class="list-unstyled summary row">
|
116
114
|
<li class="processed col-sm-1">
|
117
|
-
<span class="count">0</span>
|
115
|
+
<span id="txtProcessed" class="count">0</span>
|
118
116
|
<span class="desc">Processed</span>
|
119
117
|
</li>
|
120
118
|
<li class="failed col-sm-1">
|
121
|
-
<span class="count">0</span>
|
119
|
+
<span id="txtFailed" class="count">0</span>
|
122
120
|
<span class="desc">Failed</span>
|
123
121
|
</li>
|
124
122
|
<li class="busy col-sm-1">
|
125
123
|
<a href="/sidekiq/busy">
|
126
|
-
<span class="count">0</span>
|
124
|
+
<span id="txtBusy" class="count">0</span>
|
127
125
|
<span class="desc">Busy</span>
|
128
126
|
</a>
|
129
127
|
</li>
|
130
128
|
<li class="enqueued col-sm-1">
|
131
129
|
<a href="/sidekiq/queues">
|
132
|
-
<span class="count">0</span>
|
130
|
+
<span id="txtEnqueued" class="count">0</span>
|
133
131
|
<span class="desc">Enqueued</span>
|
134
132
|
</a>
|
135
133
|
</li>
|
136
134
|
<li class="retries col-sm-1">
|
137
135
|
<a href="/sidekiq/retries">
|
138
|
-
<span class="count">0</span>
|
136
|
+
<span id="txtRetries" class="count">0</span>
|
139
137
|
<span class="desc">Retries</span>
|
140
138
|
</a>
|
141
139
|
</li>
|
142
140
|
<li class="scheduled col-sm-1">
|
143
141
|
<a href="/sidekiq/scheduled">
|
144
|
-
<span class="count">0</span>
|
142
|
+
<span id="txtScheduled" class="count">0</span>
|
145
143
|
<span class="desc">Scheduled</span>
|
146
144
|
</a>
|
147
145
|
</li>
|
148
146
|
<li class="dead col-sm-1">
|
149
147
|
<a href="/sidekiq/morgue">
|
150
|
-
<span class="count">4</span>
|
148
|
+
<span id="txtDead" class="count">4</span>
|
151
149
|
<span class="desc">Dead</span>
|
152
150
|
</a>
|
153
151
|
</li>
|
@@ -162,6 +160,7 @@
|
|
162
160
|
<b>2</b> dead jobs
|
163
161
|
of <b>HardWorker</b> class
|
164
162
|
with <b>RuntimeError</b> exception
|
163
|
+
|
165
164
|
in <b>1_hour</b> bucket
|
166
165
|
</h3>
|
167
166
|
</div>
|
@@ -209,7 +208,7 @@
|
|
209
208
|
<div class="args">"asdf", 1234</div>
|
210
209
|
</td>
|
211
210
|
<td>
|
212
|
-
<div>RuntimeError:
|
211
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
213
212
|
</td>
|
214
213
|
</tr>
|
215
214
|
|
@@ -230,21 +229,27 @@
|
|
230
229
|
<div class="args">"asdf", 1234</div>
|
231
230
|
</td>
|
232
231
|
<td>
|
233
|
-
<div>RuntimeError:
|
232
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
234
233
|
</td>
|
235
234
|
</tr>
|
236
235
|
|
237
236
|
</table>
|
238
237
|
<input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="Revive" />
|
238
|
+
<input class="btn btn-secondary btn-xs pull-left" type="submit" name="export" value="Export" />
|
239
239
|
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
|
240
240
|
</form>
|
241
241
|
|
242
|
-
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/delete" method="post">
|
242
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/delete" method="post">
|
243
243
|
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
244
244
|
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
|
245
245
|
</form>
|
246
246
|
|
247
|
-
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/
|
247
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/export" method="post">
|
248
|
+
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
249
|
+
<input class="btn btn-secondary btn-xs pull-right" type="submit" name="export" value="Export All" />
|
250
|
+
</form>
|
251
|
+
|
252
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/retry" method="post">
|
248
253
|
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
249
254
|
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
|
250
255
|
</form>
|
@@ -265,7 +270,7 @@
|
|
265
270
|
<p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
|
266
271
|
</li>
|
267
272
|
<li>
|
268
|
-
<p class="navbar-text server-utc-time">20:57:00 UTC</p>
|
273
|
+
<p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
|
269
274
|
</li>
|
270
275
|
<li>
|
271
276
|
<p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
|