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">54</span>
|
148
|
+
<span id="txtDead" class="count">54</span>
|
151
149
|
<span class="desc">Dead</span>
|
152
150
|
</a>
|
153
151
|
</li>
|
@@ -162,6 +160,7 @@
|
|
162
160
|
<b>52</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>
|
@@ -227,7 +226,7 @@
|
|
227
226
|
<div class="args">"asdf", 1234</div>
|
228
227
|
</td>
|
229
228
|
<td>
|
230
|
-
<div>RuntimeError:
|
229
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
231
230
|
</td>
|
232
231
|
</tr>
|
233
232
|
|
@@ -248,7 +247,7 @@
|
|
248
247
|
<div class="args">"asdf", 1234</div>
|
249
248
|
</td>
|
250
249
|
<td>
|
251
|
-
<div>RuntimeError:
|
250
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
252
251
|
</td>
|
253
252
|
</tr>
|
254
253
|
|
@@ -269,7 +268,7 @@
|
|
269
268
|
<div class="args">"asdf", 1234</div>
|
270
269
|
</td>
|
271
270
|
<td>
|
272
|
-
<div>RuntimeError:
|
271
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
273
272
|
</td>
|
274
273
|
</tr>
|
275
274
|
|
@@ -290,7 +289,7 @@
|
|
290
289
|
<div class="args">"asdf", 1234</div>
|
291
290
|
</td>
|
292
291
|
<td>
|
293
|
-
<div>RuntimeError:
|
292
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
294
293
|
</td>
|
295
294
|
</tr>
|
296
295
|
|
@@ -311,7 +310,7 @@
|
|
311
310
|
<div class="args">"asdf", 1234</div>
|
312
311
|
</td>
|
313
312
|
<td>
|
314
|
-
<div>RuntimeError:
|
313
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
315
314
|
</td>
|
316
315
|
</tr>
|
317
316
|
|
@@ -332,7 +331,7 @@
|
|
332
331
|
<div class="args">"asdf", 1234</div>
|
333
332
|
</td>
|
334
333
|
<td>
|
335
|
-
<div>RuntimeError:
|
334
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
336
335
|
</td>
|
337
336
|
</tr>
|
338
337
|
|
@@ -353,7 +352,7 @@
|
|
353
352
|
<div class="args">"asdf", 1234</div>
|
354
353
|
</td>
|
355
354
|
<td>
|
356
|
-
<div>RuntimeError:
|
355
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
357
356
|
</td>
|
358
357
|
</tr>
|
359
358
|
|
@@ -374,7 +373,7 @@
|
|
374
373
|
<div class="args">"asdf", 1234</div>
|
375
374
|
</td>
|
376
375
|
<td>
|
377
|
-
<div>RuntimeError:
|
376
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
378
377
|
</td>
|
379
378
|
</tr>
|
380
379
|
|
@@ -395,7 +394,7 @@
|
|
395
394
|
<div class="args">"asdf", 1234</div>
|
396
395
|
</td>
|
397
396
|
<td>
|
398
|
-
<div>RuntimeError:
|
397
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
399
398
|
</td>
|
400
399
|
</tr>
|
401
400
|
|
@@ -416,7 +415,7 @@
|
|
416
415
|
<div class="args">"asdf", 1234</div>
|
417
416
|
</td>
|
418
417
|
<td>
|
419
|
-
<div>RuntimeError:
|
418
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
420
419
|
</td>
|
421
420
|
</tr>
|
422
421
|
|
@@ -437,7 +436,7 @@
|
|
437
436
|
<div class="args">"asdf", 1234</div>
|
438
437
|
</td>
|
439
438
|
<td>
|
440
|
-
<div>RuntimeError:
|
439
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
441
440
|
</td>
|
442
441
|
</tr>
|
443
442
|
|
@@ -458,7 +457,7 @@
|
|
458
457
|
<div class="args">"asdf", 1234</div>
|
459
458
|
</td>
|
460
459
|
<td>
|
461
|
-
<div>RuntimeError:
|
460
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
462
461
|
</td>
|
463
462
|
</tr>
|
464
463
|
|
@@ -479,7 +478,7 @@
|
|
479
478
|
<div class="args">"asdf", 1234</div>
|
480
479
|
</td>
|
481
480
|
<td>
|
482
|
-
<div>RuntimeError:
|
481
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
483
482
|
</td>
|
484
483
|
</tr>
|
485
484
|
|
@@ -500,7 +499,7 @@
|
|
500
499
|
<div class="args">"asdf", 1234</div>
|
501
500
|
</td>
|
502
501
|
<td>
|
503
|
-
<div>RuntimeError:
|
502
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
504
503
|
</td>
|
505
504
|
</tr>
|
506
505
|
|
@@ -521,7 +520,7 @@
|
|
521
520
|
<div class="args">"asdf", 1234</div>
|
522
521
|
</td>
|
523
522
|
<td>
|
524
|
-
<div>RuntimeError:
|
523
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
525
524
|
</td>
|
526
525
|
</tr>
|
527
526
|
|
@@ -542,7 +541,7 @@
|
|
542
541
|
<div class="args">"asdf", 1234</div>
|
543
542
|
</td>
|
544
543
|
<td>
|
545
|
-
<div>RuntimeError:
|
544
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
546
545
|
</td>
|
547
546
|
</tr>
|
548
547
|
|
@@ -563,7 +562,7 @@
|
|
563
562
|
<div class="args">"asdf", 1234</div>
|
564
563
|
</td>
|
565
564
|
<td>
|
566
|
-
<div>RuntimeError:
|
565
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
567
566
|
</td>
|
568
567
|
</tr>
|
569
568
|
|
@@ -584,7 +583,7 @@
|
|
584
583
|
<div class="args">"asdf", 1234</div>
|
585
584
|
</td>
|
586
585
|
<td>
|
587
|
-
<div>RuntimeError:
|
586
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
588
587
|
</td>
|
589
588
|
</tr>
|
590
589
|
|
@@ -605,7 +604,7 @@
|
|
605
604
|
<div class="args">"asdf", 1234</div>
|
606
605
|
</td>
|
607
606
|
<td>
|
608
|
-
<div>RuntimeError:
|
607
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
609
608
|
</td>
|
610
609
|
</tr>
|
611
610
|
|
@@ -626,7 +625,7 @@
|
|
626
625
|
<div class="args">"asdf", 1234</div>
|
627
626
|
</td>
|
628
627
|
<td>
|
629
|
-
<div>RuntimeError:
|
628
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
630
629
|
</td>
|
631
630
|
</tr>
|
632
631
|
|
@@ -647,7 +646,7 @@
|
|
647
646
|
<div class="args">"asdf", 1234</div>
|
648
647
|
</td>
|
649
648
|
<td>
|
650
|
-
<div>RuntimeError:
|
649
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
651
650
|
</td>
|
652
651
|
</tr>
|
653
652
|
|
@@ -668,7 +667,7 @@
|
|
668
667
|
<div class="args">"asdf", 1234</div>
|
669
668
|
</td>
|
670
669
|
<td>
|
671
|
-
<div>RuntimeError:
|
670
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
672
671
|
</td>
|
673
672
|
</tr>
|
674
673
|
|
@@ -689,7 +688,7 @@
|
|
689
688
|
<div class="args">"asdf", 1234</div>
|
690
689
|
</td>
|
691
690
|
<td>
|
692
|
-
<div>RuntimeError:
|
691
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
693
692
|
</td>
|
694
693
|
</tr>
|
695
694
|
|
@@ -710,7 +709,7 @@
|
|
710
709
|
<div class="args">"asdf", 1234</div>
|
711
710
|
</td>
|
712
711
|
<td>
|
713
|
-
<div>RuntimeError:
|
712
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
714
713
|
</td>
|
715
714
|
</tr>
|
716
715
|
|
@@ -731,7 +730,7 @@
|
|
731
730
|
<div class="args">"asdf", 1234</div>
|
732
731
|
</td>
|
733
732
|
<td>
|
734
|
-
<div>RuntimeError:
|
733
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
735
734
|
</td>
|
736
735
|
</tr>
|
737
736
|
|
@@ -752,7 +751,7 @@
|
|
752
751
|
<div class="args">"asdf", 1234</div>
|
753
752
|
</td>
|
754
753
|
<td>
|
755
|
-
<div>RuntimeError:
|
754
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
756
755
|
</td>
|
757
756
|
</tr>
|
758
757
|
|
@@ -773,7 +772,7 @@
|
|
773
772
|
<div class="args">"asdf", 1234</div>
|
774
773
|
</td>
|
775
774
|
<td>
|
776
|
-
<div>RuntimeError:
|
775
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
777
776
|
</td>
|
778
777
|
</tr>
|
779
778
|
|
@@ -794,7 +793,7 @@
|
|
794
793
|
<div class="args">"asdf", 1234</div>
|
795
794
|
</td>
|
796
795
|
<td>
|
797
|
-
<div>RuntimeError:
|
796
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
798
797
|
</td>
|
799
798
|
</tr>
|
800
799
|
|
@@ -815,7 +814,7 @@
|
|
815
814
|
<div class="args">"asdf", 1234</div>
|
816
815
|
</td>
|
817
816
|
<td>
|
818
|
-
<div>RuntimeError:
|
817
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
819
818
|
</td>
|
820
819
|
</tr>
|
821
820
|
|
@@ -836,7 +835,7 @@
|
|
836
835
|
<div class="args">"asdf", 1234</div>
|
837
836
|
</td>
|
838
837
|
<td>
|
839
|
-
<div>RuntimeError:
|
838
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
840
839
|
</td>
|
841
840
|
</tr>
|
842
841
|
|
@@ -857,7 +856,7 @@
|
|
857
856
|
<div class="args">"asdf", 1234</div>
|
858
857
|
</td>
|
859
858
|
<td>
|
860
|
-
<div>RuntimeError:
|
859
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
861
860
|
</td>
|
862
861
|
</tr>
|
863
862
|
|
@@ -878,7 +877,7 @@
|
|
878
877
|
<div class="args">"asdf", 1234</div>
|
879
878
|
</td>
|
880
879
|
<td>
|
881
|
-
<div>RuntimeError:
|
880
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
882
881
|
</td>
|
883
882
|
</tr>
|
884
883
|
|
@@ -899,7 +898,7 @@
|
|
899
898
|
<div class="args">"asdf", 1234</div>
|
900
899
|
</td>
|
901
900
|
<td>
|
902
|
-
<div>RuntimeError:
|
901
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
903
902
|
</td>
|
904
903
|
</tr>
|
905
904
|
|
@@ -920,7 +919,7 @@
|
|
920
919
|
<div class="args">"asdf", 1234</div>
|
921
920
|
</td>
|
922
921
|
<td>
|
923
|
-
<div>RuntimeError:
|
922
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
924
923
|
</td>
|
925
924
|
</tr>
|
926
925
|
|
@@ -941,7 +940,7 @@
|
|
941
940
|
<div class="args">"asdf", 1234</div>
|
942
941
|
</td>
|
943
942
|
<td>
|
944
|
-
<div>RuntimeError:
|
943
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
945
944
|
</td>
|
946
945
|
</tr>
|
947
946
|
|
@@ -962,7 +961,7 @@
|
|
962
961
|
<div class="args">"asdf", 1234</div>
|
963
962
|
</td>
|
964
963
|
<td>
|
965
|
-
<div>RuntimeError:
|
964
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
966
965
|
</td>
|
967
966
|
</tr>
|
968
967
|
|
@@ -983,7 +982,7 @@
|
|
983
982
|
<div class="args">"asdf", 1234</div>
|
984
983
|
</td>
|
985
984
|
<td>
|
986
|
-
<div>RuntimeError:
|
985
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
987
986
|
</td>
|
988
987
|
</tr>
|
989
988
|
|
@@ -1004,7 +1003,7 @@
|
|
1004
1003
|
<div class="args">"asdf", 1234</div>
|
1005
1004
|
</td>
|
1006
1005
|
<td>
|
1007
|
-
<div>RuntimeError:
|
1006
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1008
1007
|
</td>
|
1009
1008
|
</tr>
|
1010
1009
|
|
@@ -1025,7 +1024,7 @@
|
|
1025
1024
|
<div class="args">"asdf", 1234</div>
|
1026
1025
|
</td>
|
1027
1026
|
<td>
|
1028
|
-
<div>RuntimeError:
|
1027
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1029
1028
|
</td>
|
1030
1029
|
</tr>
|
1031
1030
|
|
@@ -1046,7 +1045,7 @@
|
|
1046
1045
|
<div class="args">"asdf", 1234</div>
|
1047
1046
|
</td>
|
1048
1047
|
<td>
|
1049
|
-
<div>RuntimeError:
|
1048
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1050
1049
|
</td>
|
1051
1050
|
</tr>
|
1052
1051
|
|
@@ -1067,7 +1066,7 @@
|
|
1067
1066
|
<div class="args">"asdf", 1234</div>
|
1068
1067
|
</td>
|
1069
1068
|
<td>
|
1070
|
-
<div>RuntimeError:
|
1069
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1071
1070
|
</td>
|
1072
1071
|
</tr>
|
1073
1072
|
|
@@ -1088,7 +1087,7 @@
|
|
1088
1087
|
<div class="args">"asdf", 1234</div>
|
1089
1088
|
</td>
|
1090
1089
|
<td>
|
1091
|
-
<div>RuntimeError:
|
1090
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1092
1091
|
</td>
|
1093
1092
|
</tr>
|
1094
1093
|
|
@@ -1109,7 +1108,7 @@
|
|
1109
1108
|
<div class="args">"asdf", 1234</div>
|
1110
1109
|
</td>
|
1111
1110
|
<td>
|
1112
|
-
<div>RuntimeError:
|
1111
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1113
1112
|
</td>
|
1114
1113
|
</tr>
|
1115
1114
|
|
@@ -1130,7 +1129,7 @@
|
|
1130
1129
|
<div class="args">"asdf", 1234</div>
|
1131
1130
|
</td>
|
1132
1131
|
<td>
|
1133
|
-
<div>RuntimeError:
|
1132
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1134
1133
|
</td>
|
1135
1134
|
</tr>
|
1136
1135
|
|
@@ -1151,7 +1150,7 @@
|
|
1151
1150
|
<div class="args">"asdf", 1234</div>
|
1152
1151
|
</td>
|
1153
1152
|
<td>
|
1154
|
-
<div>RuntimeError:
|
1153
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1155
1154
|
</td>
|
1156
1155
|
</tr>
|
1157
1156
|
|
@@ -1172,7 +1171,7 @@
|
|
1172
1171
|
<div class="args">"asdf", 1234</div>
|
1173
1172
|
</td>
|
1174
1173
|
<td>
|
1175
|
-
<div>RuntimeError:
|
1174
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1176
1175
|
</td>
|
1177
1176
|
</tr>
|
1178
1177
|
|
@@ -1193,7 +1192,7 @@
|
|
1193
1192
|
<div class="args">"asdf", 1234</div>
|
1194
1193
|
</td>
|
1195
1194
|
<td>
|
1196
|
-
<div>RuntimeError:
|
1195
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1197
1196
|
</td>
|
1198
1197
|
</tr>
|
1199
1198
|
|
@@ -1214,7 +1213,7 @@
|
|
1214
1213
|
<div class="args">"asdf", 1234</div>
|
1215
1214
|
</td>
|
1216
1215
|
<td>
|
1217
|
-
<div>RuntimeError:
|
1216
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1218
1217
|
</td>
|
1219
1218
|
</tr>
|
1220
1219
|
|
@@ -1235,7 +1234,7 @@
|
|
1235
1234
|
<div class="args">"asdf", 1234</div>
|
1236
1235
|
</td>
|
1237
1236
|
<td>
|
1238
|
-
<div>RuntimeError:
|
1237
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1239
1238
|
</td>
|
1240
1239
|
</tr>
|
1241
1240
|
|
@@ -1256,21 +1255,27 @@
|
|
1256
1255
|
<div class="args">"asdf", 1234</div>
|
1257
1256
|
</td>
|
1258
1257
|
<td>
|
1259
|
-
<div>RuntimeError:
|
1258
|
+
<div>RuntimeError: Option 'data/file_name' is required! This is an extra long error message.</div>
|
1260
1259
|
</td>
|
1261
1260
|
</tr>
|
1262
1261
|
|
1263
1262
|
</table>
|
1264
1263
|
<input class="btn btn-primary btn-xs pull-left" type="submit" name="retry" value="Revive" />
|
1264
|
+
<input class="btn btn-secondary btn-xs pull-left" type="submit" name="export" value="Export" />
|
1265
1265
|
<input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
|
1266
1266
|
</form>
|
1267
1267
|
|
1268
|
-
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/delete" method="post">
|
1268
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/delete" method="post">
|
1269
1269
|
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
1270
1270
|
<input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
|
1271
1271
|
</form>
|
1272
1272
|
|
1273
|
-
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/
|
1273
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/export" method="post">
|
1274
|
+
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
1275
|
+
<input class="btn btn-secondary btn-xs pull-right" type="submit" name="export" value="Export All" />
|
1276
|
+
</form>
|
1277
|
+
|
1278
|
+
<form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/retry" method="post">
|
1274
1279
|
<input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
|
1275
1280
|
<input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
|
1276
1281
|
</form>
|
@@ -1291,7 +1296,7 @@
|
|
1291
1296
|
<p class="navbar-text redis-url" title="redis://127.0.0.1:6379/0">redis://127.0.0.1:6379/0</p>
|
1292
1297
|
</li>
|
1293
1298
|
<li>
|
1294
|
-
<p class="navbar-text server-utc-time">20:57:00 UTC</p>
|
1299
|
+
<p id="serverUtcTime" class="navbar-text server-utc-time">20:57:00 UTC</p>
|
1295
1300
|
</li>
|
1296
1301
|
<li>
|
1297
1302
|
<p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
|
@@ -7,10 +7,11 @@ module Sidekiq
|
|
7
7
|
describe DeadJob do
|
8
8
|
let(:job) do
|
9
9
|
build_job(
|
10
|
-
"class"
|
11
|
-
"failed_at"
|
12
|
-
"error_class"
|
13
|
-
"queue"
|
10
|
+
"class" => "HardWorkTask",
|
11
|
+
"failed_at" => Time.now,
|
12
|
+
"error_class" => "NoMethodError",
|
13
|
+
"queue" => "SomeQueue",
|
14
|
+
"error_message" => "undefined method `pause` for HardWork:Class"
|
14
15
|
)
|
15
16
|
end
|
16
17
|
|
@@ -20,6 +21,7 @@ module Sidekiq
|
|
20
21
|
job_class: "HardWorkTask",
|
21
22
|
time_elapsed_since_failure: 9,
|
22
23
|
error_class: "NoMethodError",
|
24
|
+
error_msg: "undefined method `pause` for H...",
|
23
25
|
bucket_name: "1_hour",
|
24
26
|
job: job
|
25
27
|
}
|
@@ -54,6 +56,7 @@ module Sidekiq
|
|
54
56
|
job_class: "HardWorkTask",
|
55
57
|
time_elapsed_since_failure: time_elapsed,
|
56
58
|
error_class: "NoMethodError",
|
59
|
+
error_msg: "undefined method `pause` for H...",
|
57
60
|
bucket_name: "1_hour",
|
58
61
|
job: killed_job
|
59
62
|
)
|