sidekiq-undertaker 1.3.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-build.yml +30 -2
  3. data/.rubocop.yml +4 -0
  4. data/.rubocop_codeclimate.yml +9 -0
  5. data/CHANGELOG.md +21 -0
  6. data/README.md +2 -1
  7. data/lib/sidekiq/undertaker/dead_job.rb +10 -2
  8. data/lib/sidekiq/undertaker/job_distributor.rb +4 -0
  9. data/lib/sidekiq/undertaker/job_filter.rb +7 -2
  10. data/lib/sidekiq/undertaker/version.rb +1 -1
  11. data/lib/sidekiq/undertaker/web_extension/api_helpers.rb +42 -21
  12. data/lib/sidekiq/undertaker/web_extension.rb +11 -9
  13. data/lib/sidekiq/undertaker.rb +16 -0
  14. data/sidekiq-undertaker.gemspec +5 -6
  15. 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 +4 -4
  16. 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 +25 -25
  17. 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 +25 -25
  18. 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
  19. 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
  20. 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 +9 -8
  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
  22. 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
  23. 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 +7 -6
  24. 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 +55 -54
  25. data/spec/sidekiq/undertaker/dead_jobs_spec.rb +7 -4
  26. data/spec/sidekiq/undertaker/job_distributor_spec.rb +38 -16
  27. data/spec/sidekiq/undertaker/job_filter_spec.rb +26 -9
  28. data/spec/sidekiq/undertaker/web_extension_spec.rb +60 -17
  29. data/spec/sidekiq/undertaker_spec.rb +26 -0
  30. data/spec/spec_helper.rb +4 -0
  31. data/web/views/filter.erb +1 -1
  32. data/web/views/filter_job_class.erb +8 -8
  33. data/web/views/filter_job_class_error_class.erb +36 -0
  34. data/web/views/morgue.erb +4 -3
  35. metadata +63 -70
  36. data/.travis.yml +0 -51
@@ -22,7 +22,7 @@
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">
25
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-menu">
25
+ <button type="button" class="navbar-toggle collapsed" data-toggle="navbar-menu" data-target="#navbar-menu">
26
26
  <span class="icon-bar"></span>
27
27
  <span class="icon-bar"></span>
28
28
  <span class="icon-bar"></span>
@@ -160,6 +160,7 @@
160
160
  <b>2</b> dead jobs
161
161
  of <b>HardWorker</b> class
162
162
  with <b>RuntimeError</b> exception
163
+
163
164
  in <b>1_hour</b> bucket
164
165
  </h3>
165
166
  </div>
@@ -207,7 +208,7 @@
207
208
  <div class="args">&quot;asdf&quot;, 1234</div>
208
209
  </td>
209
210
  <td>
210
- <div>RuntimeError: Some fake message</div>
211
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
211
212
  </td>
212
213
  </tr>
213
214
 
@@ -228,7 +229,7 @@
228
229
  <div class="args">&quot;asdf&quot;, 1234</div>
229
230
  </td>
230
231
  <td>
231
- <div>RuntimeError: Some fake message</div>
232
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
232
233
  </td>
233
234
  </tr>
234
235
 
@@ -238,17 +239,17 @@
238
239
  <input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
239
240
  </form>
240
241
 
241
- <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">
242
243
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
243
244
  <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
244
245
  </form>
245
246
 
246
- <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/export" method="post">
247
+ <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/export" method="post">
247
248
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
248
249
  <input class="btn btn-secondary btn-xs pull-right" type="submit" name="export" value="Export All" />
249
250
  </form>
250
251
 
251
- <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/retry" method="post">
252
+ <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/retry" method="post">
252
253
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
253
254
  <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
254
255
  </form>
@@ -22,7 +22,7 @@
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">
25
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-menu">
25
+ <button type="button" class="navbar-toggle collapsed" data-toggle="navbar-menu" data-target="#navbar-menu">
26
26
  <span class="icon-bar"></span>
27
27
  <span class="icon-bar"></span>
28
28
  <span class="icon-bar"></span>
@@ -160,6 +160,7 @@
160
160
  <b>52</b> dead jobs
161
161
  of <b>HardWorker</b> class
162
162
  with <b>RuntimeError</b> exception
163
+
163
164
  in <b>1_hour</b> bucket
164
165
  </h3>
165
166
  </div>
@@ -225,7 +226,7 @@
225
226
  <div class="args">&quot;asdf&quot;, 1234</div>
226
227
  </td>
227
228
  <td>
228
- <div>RuntimeError: Some fake message</div>
229
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
229
230
  </td>
230
231
  </tr>
231
232
 
@@ -246,7 +247,7 @@
246
247
  <div class="args">&quot;asdf&quot;, 1234</div>
247
248
  </td>
248
249
  <td>
249
- <div>RuntimeError: Some fake message</div>
250
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
250
251
  </td>
251
252
  </tr>
252
253
 
@@ -267,7 +268,7 @@
267
268
  <div class="args">&quot;asdf&quot;, 1234</div>
268
269
  </td>
269
270
  <td>
270
- <div>RuntimeError: Some fake message</div>
271
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
271
272
  </td>
272
273
  </tr>
273
274
 
@@ -288,7 +289,7 @@
288
289
  <div class="args">&quot;asdf&quot;, 1234</div>
289
290
  </td>
290
291
  <td>
291
- <div>RuntimeError: Some fake message</div>
292
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
292
293
  </td>
293
294
  </tr>
294
295
 
@@ -309,7 +310,7 @@
309
310
  <div class="args">&quot;asdf&quot;, 1234</div>
310
311
  </td>
311
312
  <td>
312
- <div>RuntimeError: Some fake message</div>
313
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
313
314
  </td>
314
315
  </tr>
315
316
 
@@ -330,7 +331,7 @@
330
331
  <div class="args">&quot;asdf&quot;, 1234</div>
331
332
  </td>
332
333
  <td>
333
- <div>RuntimeError: Some fake message</div>
334
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
334
335
  </td>
335
336
  </tr>
336
337
 
@@ -351,7 +352,7 @@
351
352
  <div class="args">&quot;asdf&quot;, 1234</div>
352
353
  </td>
353
354
  <td>
354
- <div>RuntimeError: Some fake message</div>
355
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
355
356
  </td>
356
357
  </tr>
357
358
 
@@ -372,7 +373,7 @@
372
373
  <div class="args">&quot;asdf&quot;, 1234</div>
373
374
  </td>
374
375
  <td>
375
- <div>RuntimeError: Some fake message</div>
376
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
376
377
  </td>
377
378
  </tr>
378
379
 
@@ -393,7 +394,7 @@
393
394
  <div class="args">&quot;asdf&quot;, 1234</div>
394
395
  </td>
395
396
  <td>
396
- <div>RuntimeError: Some fake message</div>
397
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
397
398
  </td>
398
399
  </tr>
399
400
 
@@ -414,7 +415,7 @@
414
415
  <div class="args">&quot;asdf&quot;, 1234</div>
415
416
  </td>
416
417
  <td>
417
- <div>RuntimeError: Some fake message</div>
418
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
418
419
  </td>
419
420
  </tr>
420
421
 
@@ -435,7 +436,7 @@
435
436
  <div class="args">&quot;asdf&quot;, 1234</div>
436
437
  </td>
437
438
  <td>
438
- <div>RuntimeError: Some fake message</div>
439
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
439
440
  </td>
440
441
  </tr>
441
442
 
@@ -456,7 +457,7 @@
456
457
  <div class="args">&quot;asdf&quot;, 1234</div>
457
458
  </td>
458
459
  <td>
459
- <div>RuntimeError: Some fake message</div>
460
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
460
461
  </td>
461
462
  </tr>
462
463
 
@@ -477,7 +478,7 @@
477
478
  <div class="args">&quot;asdf&quot;, 1234</div>
478
479
  </td>
479
480
  <td>
480
- <div>RuntimeError: Some fake message</div>
481
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
481
482
  </td>
482
483
  </tr>
483
484
 
@@ -498,7 +499,7 @@
498
499
  <div class="args">&quot;asdf&quot;, 1234</div>
499
500
  </td>
500
501
  <td>
501
- <div>RuntimeError: Some fake message</div>
502
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
502
503
  </td>
503
504
  </tr>
504
505
 
@@ -519,7 +520,7 @@
519
520
  <div class="args">&quot;asdf&quot;, 1234</div>
520
521
  </td>
521
522
  <td>
522
- <div>RuntimeError: Some fake message</div>
523
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
523
524
  </td>
524
525
  </tr>
525
526
 
@@ -540,7 +541,7 @@
540
541
  <div class="args">&quot;asdf&quot;, 1234</div>
541
542
  </td>
542
543
  <td>
543
- <div>RuntimeError: Some fake message</div>
544
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
544
545
  </td>
545
546
  </tr>
546
547
 
@@ -561,7 +562,7 @@
561
562
  <div class="args">&quot;asdf&quot;, 1234</div>
562
563
  </td>
563
564
  <td>
564
- <div>RuntimeError: Some fake message</div>
565
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
565
566
  </td>
566
567
  </tr>
567
568
 
@@ -582,7 +583,7 @@
582
583
  <div class="args">&quot;asdf&quot;, 1234</div>
583
584
  </td>
584
585
  <td>
585
- <div>RuntimeError: Some fake message</div>
586
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
586
587
  </td>
587
588
  </tr>
588
589
 
@@ -603,7 +604,7 @@
603
604
  <div class="args">&quot;asdf&quot;, 1234</div>
604
605
  </td>
605
606
  <td>
606
- <div>RuntimeError: Some fake message</div>
607
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
607
608
  </td>
608
609
  </tr>
609
610
 
@@ -624,7 +625,7 @@
624
625
  <div class="args">&quot;asdf&quot;, 1234</div>
625
626
  </td>
626
627
  <td>
627
- <div>RuntimeError: Some fake message</div>
628
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
628
629
  </td>
629
630
  </tr>
630
631
 
@@ -645,7 +646,7 @@
645
646
  <div class="args">&quot;asdf&quot;, 1234</div>
646
647
  </td>
647
648
  <td>
648
- <div>RuntimeError: Some fake message</div>
649
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
649
650
  </td>
650
651
  </tr>
651
652
 
@@ -666,7 +667,7 @@
666
667
  <div class="args">&quot;asdf&quot;, 1234</div>
667
668
  </td>
668
669
  <td>
669
- <div>RuntimeError: Some fake message</div>
670
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
670
671
  </td>
671
672
  </tr>
672
673
 
@@ -687,7 +688,7 @@
687
688
  <div class="args">&quot;asdf&quot;, 1234</div>
688
689
  </td>
689
690
  <td>
690
- <div>RuntimeError: Some fake message</div>
691
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
691
692
  </td>
692
693
  </tr>
693
694
 
@@ -708,7 +709,7 @@
708
709
  <div class="args">&quot;asdf&quot;, 1234</div>
709
710
  </td>
710
711
  <td>
711
- <div>RuntimeError: Some fake message</div>
712
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
712
713
  </td>
713
714
  </tr>
714
715
 
@@ -729,7 +730,7 @@
729
730
  <div class="args">&quot;asdf&quot;, 1234</div>
730
731
  </td>
731
732
  <td>
732
- <div>RuntimeError: Some fake message</div>
733
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
733
734
  </td>
734
735
  </tr>
735
736
 
@@ -750,7 +751,7 @@
750
751
  <div class="args">&quot;asdf&quot;, 1234</div>
751
752
  </td>
752
753
  <td>
753
- <div>RuntimeError: Some fake message</div>
754
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
754
755
  </td>
755
756
  </tr>
756
757
 
@@ -771,7 +772,7 @@
771
772
  <div class="args">&quot;asdf&quot;, 1234</div>
772
773
  </td>
773
774
  <td>
774
- <div>RuntimeError: Some fake message</div>
775
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
775
776
  </td>
776
777
  </tr>
777
778
 
@@ -792,7 +793,7 @@
792
793
  <div class="args">&quot;asdf&quot;, 1234</div>
793
794
  </td>
794
795
  <td>
795
- <div>RuntimeError: Some fake message</div>
796
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
796
797
  </td>
797
798
  </tr>
798
799
 
@@ -813,7 +814,7 @@
813
814
  <div class="args">&quot;asdf&quot;, 1234</div>
814
815
  </td>
815
816
  <td>
816
- <div>RuntimeError: Some fake message</div>
817
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
817
818
  </td>
818
819
  </tr>
819
820
 
@@ -834,7 +835,7 @@
834
835
  <div class="args">&quot;asdf&quot;, 1234</div>
835
836
  </td>
836
837
  <td>
837
- <div>RuntimeError: Some fake message</div>
838
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
838
839
  </td>
839
840
  </tr>
840
841
 
@@ -855,7 +856,7 @@
855
856
  <div class="args">&quot;asdf&quot;, 1234</div>
856
857
  </td>
857
858
  <td>
858
- <div>RuntimeError: Some fake message</div>
859
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
859
860
  </td>
860
861
  </tr>
861
862
 
@@ -876,7 +877,7 @@
876
877
  <div class="args">&quot;asdf&quot;, 1234</div>
877
878
  </td>
878
879
  <td>
879
- <div>RuntimeError: Some fake message</div>
880
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
880
881
  </td>
881
882
  </tr>
882
883
 
@@ -897,7 +898,7 @@
897
898
  <div class="args">&quot;asdf&quot;, 1234</div>
898
899
  </td>
899
900
  <td>
900
- <div>RuntimeError: Some fake message</div>
901
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
901
902
  </td>
902
903
  </tr>
903
904
 
@@ -918,7 +919,7 @@
918
919
  <div class="args">&quot;asdf&quot;, 1234</div>
919
920
  </td>
920
921
  <td>
921
- <div>RuntimeError: Some fake message</div>
922
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
922
923
  </td>
923
924
  </tr>
924
925
 
@@ -939,7 +940,7 @@
939
940
  <div class="args">&quot;asdf&quot;, 1234</div>
940
941
  </td>
941
942
  <td>
942
- <div>RuntimeError: Some fake message</div>
943
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
943
944
  </td>
944
945
  </tr>
945
946
 
@@ -960,7 +961,7 @@
960
961
  <div class="args">&quot;asdf&quot;, 1234</div>
961
962
  </td>
962
963
  <td>
963
- <div>RuntimeError: Some fake message</div>
964
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
964
965
  </td>
965
966
  </tr>
966
967
 
@@ -981,7 +982,7 @@
981
982
  <div class="args">&quot;asdf&quot;, 1234</div>
982
983
  </td>
983
984
  <td>
984
- <div>RuntimeError: Some fake message</div>
985
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
985
986
  </td>
986
987
  </tr>
987
988
 
@@ -1002,7 +1003,7 @@
1002
1003
  <div class="args">&quot;asdf&quot;, 1234</div>
1003
1004
  </td>
1004
1005
  <td>
1005
- <div>RuntimeError: Some fake message</div>
1006
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1006
1007
  </td>
1007
1008
  </tr>
1008
1009
 
@@ -1023,7 +1024,7 @@
1023
1024
  <div class="args">&quot;asdf&quot;, 1234</div>
1024
1025
  </td>
1025
1026
  <td>
1026
- <div>RuntimeError: Some fake message</div>
1027
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1027
1028
  </td>
1028
1029
  </tr>
1029
1030
 
@@ -1044,7 +1045,7 @@
1044
1045
  <div class="args">&quot;asdf&quot;, 1234</div>
1045
1046
  </td>
1046
1047
  <td>
1047
- <div>RuntimeError: Some fake message</div>
1048
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1048
1049
  </td>
1049
1050
  </tr>
1050
1051
 
@@ -1065,7 +1066,7 @@
1065
1066
  <div class="args">&quot;asdf&quot;, 1234</div>
1066
1067
  </td>
1067
1068
  <td>
1068
- <div>RuntimeError: Some fake message</div>
1069
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1069
1070
  </td>
1070
1071
  </tr>
1071
1072
 
@@ -1086,7 +1087,7 @@
1086
1087
  <div class="args">&quot;asdf&quot;, 1234</div>
1087
1088
  </td>
1088
1089
  <td>
1089
- <div>RuntimeError: Some fake message</div>
1090
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1090
1091
  </td>
1091
1092
  </tr>
1092
1093
 
@@ -1107,7 +1108,7 @@
1107
1108
  <div class="args">&quot;asdf&quot;, 1234</div>
1108
1109
  </td>
1109
1110
  <td>
1110
- <div>RuntimeError: Some fake message</div>
1111
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1111
1112
  </td>
1112
1113
  </tr>
1113
1114
 
@@ -1128,7 +1129,7 @@
1128
1129
  <div class="args">&quot;asdf&quot;, 1234</div>
1129
1130
  </td>
1130
1131
  <td>
1131
- <div>RuntimeError: Some fake message</div>
1132
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1132
1133
  </td>
1133
1134
  </tr>
1134
1135
 
@@ -1149,7 +1150,7 @@
1149
1150
  <div class="args">&quot;asdf&quot;, 1234</div>
1150
1151
  </td>
1151
1152
  <td>
1152
- <div>RuntimeError: Some fake message</div>
1153
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1153
1154
  </td>
1154
1155
  </tr>
1155
1156
 
@@ -1170,7 +1171,7 @@
1170
1171
  <div class="args">&quot;asdf&quot;, 1234</div>
1171
1172
  </td>
1172
1173
  <td>
1173
- <div>RuntimeError: Some fake message</div>
1174
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1174
1175
  </td>
1175
1176
  </tr>
1176
1177
 
@@ -1191,7 +1192,7 @@
1191
1192
  <div class="args">&quot;asdf&quot;, 1234</div>
1192
1193
  </td>
1193
1194
  <td>
1194
- <div>RuntimeError: Some fake message</div>
1195
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1195
1196
  </td>
1196
1197
  </tr>
1197
1198
 
@@ -1212,7 +1213,7 @@
1212
1213
  <div class="args">&quot;asdf&quot;, 1234</div>
1213
1214
  </td>
1214
1215
  <td>
1215
- <div>RuntimeError: Some fake message</div>
1216
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1216
1217
  </td>
1217
1218
  </tr>
1218
1219
 
@@ -1233,7 +1234,7 @@
1233
1234
  <div class="args">&quot;asdf&quot;, 1234</div>
1234
1235
  </td>
1235
1236
  <td>
1236
- <div>RuntimeError: Some fake message</div>
1237
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1237
1238
  </td>
1238
1239
  </tr>
1239
1240
 
@@ -1254,7 +1255,7 @@
1254
1255
  <div class="args">&quot;asdf&quot;, 1234</div>
1255
1256
  </td>
1256
1257
  <td>
1257
- <div>RuntimeError: Some fake message</div>
1258
+ <div>RuntimeError: Option &#x27;data&#x2F;file_name&#x27; is required! This is an extra long error message.</div>
1258
1259
  </td>
1259
1260
  </tr>
1260
1261
 
@@ -1264,17 +1265,17 @@
1264
1265
  <input class="btn btn-danger btn-xs pull-left" type="submit" name="delete" value="Bury" />
1265
1266
  </form>
1266
1267
 
1267
- <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">
1268
1269
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
1269
1270
  <input class="btn btn-danger btn-xs pull-right" type="submit" name="delete" value="Bury All" data-confirm="Are you sure?" />
1270
1271
  </form>
1271
1272
 
1272
- <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/export" method="post">
1273
+ <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/export" method="post">
1273
1274
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
1274
1275
  <input class="btn btn-secondary btn-xs pull-right" type="submit" name="export" value="Export All" />
1275
1276
  </form>
1276
1277
 
1277
- <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/1_hour/retry" method="post">
1278
+ <form action="/sidekiq/undertaker/morgue/HardWorker/RuntimeError/YWxs/1_hour/retry" method="post">
1278
1279
  <input type='hidden' name='authenticity_token' value='stubbed-csrf-token'/>
1279
1280
  <input class="btn btn-danger btn-xs pull-right" type="submit" name="retry" value="Revive All" data-confirm="Are you sure?" />
1280
1281
  </form>
@@ -7,10 +7,11 @@ module Sidekiq
7
7
  describe DeadJob do
8
8
  let(:job) do
9
9
  build_job(
10
- "class" => "HardWorkTask",
11
- "failed_at" => Time.now,
12
- "error_class" => "NoMethodError",
13
- "queue" => "SomeQueue"
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
  )