sidekiq 6.2.1 → 6.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +79 -1
  3. data/LICENSE +3 -3
  4. data/README.md +3 -3
  5. data/lib/generators/sidekiq/job_generator.rb +57 -0
  6. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  7. data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
  8. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  9. data/lib/sidekiq/api.rb +86 -60
  10. data/lib/sidekiq/cli.rb +13 -3
  11. data/lib/sidekiq/client.rb +5 -39
  12. data/lib/sidekiq/delay.rb +2 -0
  13. data/lib/sidekiq/extensions/action_mailer.rb +2 -2
  14. data/lib/sidekiq/extensions/active_record.rb +2 -2
  15. data/lib/sidekiq/extensions/class_methods.rb +2 -2
  16. data/lib/sidekiq/extensions/generic_proxy.rb +5 -3
  17. data/lib/sidekiq/fetch.rb +5 -4
  18. data/lib/sidekiq/job.rb +13 -0
  19. data/lib/sidekiq/job_logger.rb +1 -1
  20. data/lib/sidekiq/job_retry.rb +9 -11
  21. data/lib/sidekiq/job_util.rb +65 -0
  22. data/lib/sidekiq/launcher.rb +18 -18
  23. data/lib/sidekiq/manager.rb +7 -9
  24. data/lib/sidekiq/middleware/chain.rb +5 -3
  25. data/lib/sidekiq/middleware/current_attributes.rb +57 -0
  26. data/lib/sidekiq/rails.rb +11 -0
  27. data/lib/sidekiq/redis_connection.rb +4 -6
  28. data/lib/sidekiq/scheduled.rb +51 -16
  29. data/lib/sidekiq/testing.rb +1 -3
  30. data/lib/sidekiq/util.rb +13 -0
  31. data/lib/sidekiq/version.rb +1 -1
  32. data/lib/sidekiq/web/action.rb +1 -1
  33. data/lib/sidekiq/web/application.rb +9 -6
  34. data/lib/sidekiq/web/helpers.rb +9 -21
  35. data/lib/sidekiq/web.rb +4 -3
  36. data/lib/sidekiq/worker.rb +127 -7
  37. data/lib/sidekiq.rb +8 -1
  38. data/sidekiq.gemspec +1 -1
  39. data/web/assets/javascripts/application.js +82 -61
  40. data/web/assets/javascripts/dashboard.js +51 -51
  41. data/web/assets/stylesheets/application-dark.css +28 -45
  42. data/web/assets/stylesheets/application-rtl.css +0 -4
  43. data/web/assets/stylesheets/application.css +23 -237
  44. data/web/locales/ar.yml +8 -2
  45. data/web/locales/en.yml +4 -1
  46. data/web/locales/es.yml +18 -2
  47. data/web/locales/fr.yml +7 -0
  48. data/web/locales/ja.yml +3 -0
  49. data/web/locales/lt.yml +1 -1
  50. data/web/views/_footer.erb +1 -1
  51. data/web/views/_job_info.erb +1 -1
  52. data/web/views/_poll_link.erb +2 -5
  53. data/web/views/_summary.erb +7 -7
  54. data/web/views/busy.erb +5 -5
  55. data/web/views/dashboard.erb +22 -14
  56. data/web/views/dead.erb +1 -1
  57. data/web/views/layout.erb +1 -1
  58. data/web/views/morgue.erb +6 -6
  59. data/web/views/queue.erb +10 -10
  60. data/web/views/queues.erb +3 -3
  61. data/web/views/retries.erb +7 -7
  62. data/web/views/retry.erb +1 -1
  63. data/web/views/scheduled.erb +1 -1
  64. metadata +10 -7
  65. data/lib/generators/sidekiq/worker_generator.rb +0 -57
@@ -6,7 +6,6 @@ body {
6
6
  color: #585454;
7
7
  padding: 0;
8
8
  text-rendering: optimizeLegibility;
9
- -webkit-font-smoothing: antialiased;
10
9
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11
10
  background: #f3f3f3 url(data:image/png;base64,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);
12
11
  }
@@ -22,15 +21,9 @@ body {
22
21
  a {
23
22
  color: #b1003e;
24
23
  }
25
- a:active, a:hover, a:visited {
24
+ a:active, a:hover, a:focus {
26
25
  color: #4b001a;
27
26
  }
28
- a.btn {
29
- color: #585454;
30
- }
31
- a.btn-primary {
32
- color: white;
33
- }
34
27
 
35
28
  h1, h2, h3, h4, h5, h6, strong {
36
29
  font-weight: 700;
@@ -96,22 +89,20 @@ header.row .pagination {
96
89
  .summary_bar .summary {
97
90
  margin-top: 12px;
98
91
  background-color: #fff;
99
- -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
100
- -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
101
- box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
102
- -webkit-border-radius: 4px;
103
- -moz-border-radius: 4px;
104
92
  border-radius: 4px;
93
+ border: 1px solid rgba(0, 0, 0, 0.1);
105
94
  padding: 8px;
106
95
  margin-bottom: 10px;
107
- border-width: 0;
108
96
  }
109
97
  .poll-wrapper {
110
98
  margin: 9px;
111
99
  }
112
- #live-poll.active {
100
+ .live-poll.active {
113
101
  background-color: #009300;
114
102
  }
103
+ .live-poll.active:hover {
104
+ background-color: #777;
105
+ }
115
106
  .summary_bar ul {
116
107
  margin: 0 0 38px 0;
117
108
  }
@@ -151,16 +142,6 @@ header.row .pagination {
151
142
  width: 96px !important;
152
143
  }
153
144
  }
154
- /*@media (max-width: 1199px) and (min-width: 980px) {
155
- .summary_bar ul li.col-sm-2 {
156
- width: 130px !important;
157
- }
158
- }
159
- @media (min-width: 1200px) {
160
- .summary_bar ul li.col-sm-2 {
161
- width: 154px !important;
162
- }
163
- }*/
164
145
  .summary_bar ul .desc {
165
146
  display: block;
166
147
  font-size: 1em;
@@ -201,13 +182,8 @@ td form {
201
182
  padding: 0;
202
183
  }
203
184
 
204
- .jobtag a {
205
- color: white;
206
- }
207
-
208
- .jobtag a:hover {
209
- color: white;
210
- text-decoration: underline;
185
+ .jobtag, .jobtag a {
186
+ color: black;
211
187
  }
212
188
 
213
189
  table .table-checkbox label {
@@ -277,8 +253,7 @@ table .table-checkbox label {
277
253
 
278
254
  .navbar .nav a {
279
255
  text-align: center;
280
- }
281
-
256
+ }
282
257
  }
283
258
 
284
259
  @media (width: 768px) {
@@ -290,18 +265,6 @@ table .table-checkbox label {
290
265
  .navbar .poll-wrapper {
291
266
  margin: 4px 4px 0 0;
292
267
  }
293
-
294
- .navbar .dropdown-menu {
295
- min-width: 120px;
296
- }
297
-
298
- .navbar .dropdown-menu a {
299
- text-align: left;
300
- }
301
- }
302
-
303
- .nav .dropdown {
304
- display: none;
305
268
  }
306
269
 
307
270
  .navbar-footer .navbar ul.nav {
@@ -356,51 +319,23 @@ img.smallogo {
356
319
  .btn {
357
320
  font-weight: 700;
358
321
  border: none;
359
- -webkit-border-radius: 3px;
360
- -moz-border-radius: 3px;
361
- -ms-border-radius: 3px;
362
- -o-border-radius: 3px;
363
322
  border-radius: 3px;
364
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
365
- -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
366
323
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
367
- background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fafafa), color-stop(100%, #ededed));
368
- background-image: -webkit-linear-gradient(#fafafa, #ededed);
369
- background-image: -moz-linear-gradient(#fafafa, #ededed);
370
- background-image: -o-linear-gradient(#fafafa, #ededed);
371
- background-image: linear-gradient(#fafafa, #ededed);
372
- }
373
- .btn:hover {
374
- background-color: #ededed;
375
- }
376
-
377
- .btn-primary {
378
- background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b1003e), color-stop(100%, #980035));
379
- background-image: -webkit-linear-gradient(#b1003e, #980035);
380
- background-image: -moz-linear-gradient(#b1003e, #980035);
381
- background-image: -o-linear-gradient(#b1003e, #980035);
382
324
  background-image: linear-gradient(#b1003e, #980035);
383
- }
384
- .btn-primary:hover {
385
325
  background-color: #980035;
326
+ color: #ddd;
386
327
  }
387
-
388
- .btn-danger {
389
- background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b1003e), color-stop(100%, #980035));
390
- background-image: -webkit-linear-gradient(#b1003e, #980035);
391
- background-image: -moz-linear-gradient(#b1003e, #980035);
392
- background-image: -o-linear-gradient(#b1003e, #980035);
393
- background-image: linear-gradient(#b1003e, #980035);
394
- }
395
- .btn-danger:hover {
396
- background-color: #980035;
328
+ .btn:hover {
329
+ color: #000;
330
+ background-image: none;
331
+ background-color: #ddd;
397
332
  }
398
333
 
399
334
  .poll-status {
400
335
  padding: 10px 0;
401
336
  }
402
337
 
403
- .redis-wrapper {
338
+ .stats-wrapper {
404
339
  width: 100%;
405
340
  text-align: center;
406
341
  }
@@ -414,6 +349,7 @@ img.smallogo {
414
349
  text-align: center;
415
350
  margin-right: 20px;
416
351
  border: 1px solid rgba(0, 0, 0, 0.1);
352
+ border-radius: 4px;
417
353
  padding: 5px;
418
354
  width: 150px;
419
355
  margin-bottom: 20px;
@@ -469,9 +405,6 @@ span.current-interval {
469
405
 
470
406
  div.interval-slider input {
471
407
  width: 160px;
472
- -webkit-appearance: none;
473
- height: 3px;
474
- margin-top: 5px;
475
408
  border-radius: 2px;
476
409
  background: currentcolor;
477
410
  }
@@ -545,51 +478,17 @@ div.interval-slider input {
545
478
  background-color: #80002d;
546
479
  border-radius: 10px;
547
480
  box-shadow: 0 0 9px #666;
548
- -moz-box-shadow: 0 0 9px #666;
549
- -webkit-box-shadow: 0 0 9px #666;
550
481
  border: 3px solid transparent;
551
482
  z-index: 10;
552
483
  }
553
484
 
554
485
  .beacon.pulse .dot {
555
- -webkit-animation: beacon-dot-pulse 1s ease-out;
556
- -moz-animation: beacon-dot-pulse 1s ease-out;
557
486
  animation: beacon-dot-pulse 1s ease-out;
558
487
  }
559
488
 
560
- @-webkit-keyframes beacon-dot-pulse {
561
- from {
562
- background-color: #80002d;
563
- -webkit-box-shadow: 0 0 9px #666;
564
- }
565
- 50% {
566
- background-color: #c90047;
567
- -webkit-box-shadow: 0 0 18px #666;
568
- }
569
- to {
570
- background-color: #80002d;
571
- -webkit-box-shadow: 0 0 9px #666;
572
- }
573
- }
574
-
575
- @-moz-keyframes beacon-dot-pulse {
576
- from {
577
- background-color: #80002d;
578
- -moz-box-shadow: 0 0 9px #666;
579
- }
580
- 50% {
581
- background-color: #c90047;
582
- -moz-box-shadow: 0 0 18px #666;
583
- }
584
- to {
585
- background-color: #80002d;
586
- -moz-box-shadow: 0 0 9px #666;
587
- }
588
- }
589
-
590
489
  @keyframes beacon-dot-pulse {
591
490
  from {
592
- background-color: #80002d;
491
+ background-color: #50002d;
593
492
  box-shadow: 0 0 9px #666;
594
493
  }
595
494
  50% {
@@ -597,7 +496,7 @@ div.interval-slider input {
597
496
  box-shadow: 0 0 18px #666;
598
497
  }
599
498
  to {
600
- background-color: #80002d;
499
+ background-color: #50002d;
601
500
  box-shadow: 0 0 9px #666;
602
501
  }
603
502
  }
@@ -613,33 +512,9 @@ div.interval-slider input {
613
512
  }
614
513
 
615
514
  .beacon.pulse .ring {
616
- -webkit-animation: beacon-ring-pulse 1s;
617
- -moz-animation: beacon-ring-pulse 1s;
618
515
  animation: beacon-ring-pulse 1s;
619
516
  }
620
517
 
621
- @-webkit-keyframes beacon-ring-pulse {
622
- 0% {
623
- opacity: 1;
624
- -webkit-transform: scale(0.3);
625
- }
626
- 100% {
627
- opacity: 0;
628
- -webkit-transform: scale(1);
629
- }
630
- }
631
-
632
- @-moz-keyframes beacon-ring-pulse {
633
- 0% {
634
- opacity: 1;
635
- -moz-transform: scale(0.3);
636
- }
637
- 100% {
638
- opacity: 0;
639
- -moz-transform: scale(1);
640
- }
641
- }
642
-
643
518
  @keyframes beacon-ring-pulse {
644
519
  0% {
645
520
  opacity: 1;
@@ -660,7 +535,6 @@ div.interval-slider input {
660
535
  }
661
536
 
662
537
  .history-graph {
663
- font-size: 0.8em;
664
538
  padding: 3px;
665
539
  border-radius: 3px;
666
540
  }
@@ -744,13 +618,10 @@ div.interval-slider input {
744
618
  position: absolute;
745
619
  top: 0;
746
620
  z-index: 2;
747
- background: rgba(0, 0, 0, .1);
621
+ background: rgba(0, 0, 0, .9);
748
622
  bottom: 0;
749
623
  width: 1px;
750
624
  transition: opacity .25s linear;
751
- -moz-transition: opacity .25s linear;
752
- -o-transition: opacity .25s linear;
753
- -webkit-transition: opacity .25s linear
754
625
  }
755
626
  .rickshaw_graph .detail.inactive {
756
627
  opacity: 0
@@ -832,7 +703,6 @@ div.interval-slider input {
832
703
  position: absolute;
833
704
  box-shadow: 0 0 2px rgba(0, 0, 0, .6);
834
705
  box-sizing: content-box;
835
- -moz-box-sizing: content-box;
836
706
  background: #fff;
837
707
  border-width: 2px;
838
708
  border-style: solid;
@@ -854,96 +724,16 @@ div.interval-slider input {
854
724
  top: 0;
855
725
  bottom: 0;
856
726
  width: 0;
857
- border-left: 1px dotted rgba(0, 0, 0, .2);
727
+ border-left: 1px dotted rgba(0, 0, 0, .5);
858
728
  pointer-events: none
859
729
  }
860
730
  .rickshaw_graph .x_tick .title {
861
731
  position: absolute;
862
- font-size: 12px;
863
732
  font-family: Arial, sans-serif;
864
- opacity: .5;
865
733
  white-space: nowrap;
866
734
  margin-left: 3px;
867
735
  bottom: 1px
868
736
  }
869
- .rickshaw_annotation_timeline {
870
- height: 1px;
871
- border-top: 1px solid #e0e0e0;
872
- margin-top: 10px;
873
- position: relative
874
- }
875
- .rickshaw_annotation_timeline .annotation {
876
- position: absolute;
877
- height: 6px;
878
- width: 6px;
879
- margin-left: -2px;
880
- top: -3px;
881
- border-radius: 5px;
882
- background-color: rgba(0, 0, 0, .25)
883
- }
884
- .rickshaw_graph .annotation_line {
885
- position: absolute;
886
- top: 0;
887
- bottom: -6px;
888
- width: 0;
889
- border-left: 2px solid rgba(0, 0, 0, .3);
890
- display: none
891
- }
892
- .rickshaw_graph .annotation_line.active {
893
- display: block
894
- }
895
- .rickshaw_graph .annotation_range {
896
- background: rgba(0, 0, 0, .1);
897
- display: none;
898
- position: absolute;
899
- top: 0;
900
- bottom: -6px
901
- }
902
- .rickshaw_graph .annotation_range.active {
903
- display: block
904
- }
905
- .rickshaw_graph .annotation_range.active.offscreen {
906
- display: none
907
- }
908
- .rickshaw_annotation_timeline .annotation .content {
909
- background: #fff;
910
- color: #000;
911
- opacity: .9;
912
- padding: 5px;
913
- box-shadow: 0 0 2px rgba(0, 0, 0, .8);
914
- border-radius: 3px;
915
- position: relative;
916
- z-index: 20;
917
- font-size: 12px;
918
- padding: 6px 8px 8px;
919
- top: 18px;
920
- left: -11px;
921
- width: 160px;
922
- display: none;
923
- cursor: pointer
924
- }
925
- .rickshaw_annotation_timeline .annotation .content:before {
926
- content: "\25b2";
927
- position: absolute;
928
- top: -11px;
929
- color: #fff;
930
- text-shadow: 0 -1px 1px rgba(0, 0, 0, .8)
931
- }
932
- .rickshaw_annotation_timeline .annotation.active,
933
- .rickshaw_annotation_timeline .annotation:hover {
934
- background-color: rgba(0, 0, 0, .8);
935
- cursor: none
936
- }
937
- .rickshaw_annotation_timeline .annotation .content:hover {
938
- z-index: 50
939
- }
940
- .rickshaw_annotation_timeline .annotation.active .content {
941
- display: block
942
- }
943
- .rickshaw_annotation_timeline .annotation:hover .content {
944
- display: block;
945
- z-index: 50
946
- }
947
737
  .rickshaw_graph .y_axis,
948
738
  .rickshaw_graph .x_axis_d3 {
949
739
  fill: none
@@ -995,7 +785,6 @@ div.interval-slider input {
995
785
  }
996
786
  .rickshaw_legend {
997
787
  font-family: Arial;
998
- font-size: 12px;
999
788
  color: #fff;
1000
789
  background: #404040;
1001
790
  display: inline-block;
@@ -1038,10 +827,8 @@ div.interval-slider input {
1038
827
  }
1039
828
  .rickshaw_legend .action {
1040
829
  margin-right: .2em;
1041
- font-size: 10px;
1042
- opacity: .2;
830
+ opacity: .5;
1043
831
  cursor: pointer;
1044
- font-size: 14px
1045
832
  }
1046
833
  .rickshaw_legend .line.disabled {
1047
834
  opacity: .4
@@ -1158,12 +945,11 @@ div.interval-slider input {
1158
945
  }
1159
946
 
1160
947
  .info-circle {
1161
- color: #f3f3f3;
1162
- background-color: #dddddd;
948
+ color: #ccc;
949
+ background-color: #000;
1163
950
  border-radius: 50%;
1164
951
  text-align: center;
1165
952
  vertical-align: middle;
1166
953
  padding: 3px 7px;
1167
- font-size: 0.7em;
1168
954
  margin-left: 5px;
1169
955
  }
data/web/locales/ar.yml CHANGED
@@ -8,6 +8,7 @@ ar:
8
8
  Realtime: الزمن الفعلي
9
9
  History: تاريخ
10
10
  Busy: مشغول
11
+ Utilization: الاستخدام
11
12
  Processed: تمت المعالجة
12
13
  Failed: فشل
13
14
  Scheduled: مجدول
@@ -65,11 +66,13 @@ ar:
65
66
  DeadJobs: وظائف ميتة
66
67
  NoDeadJobsFound: لاتوجد وظائف ميتة
67
68
  Dead: ميتة
69
+ Process: عملية
68
70
  Processes: عمليات
71
+ Name: الاسم
69
72
  Thread: نيسب
70
73
  Threads: نياسب
71
74
  Jobs: وظائف
72
- Paused: إيقاف مؤقت
75
+ Paused: موقفة مؤقتاً
73
76
  Stop: إيقاف
74
77
  Quiet: هدوء
75
78
  StopAll: إيقاف الكل
@@ -78,4 +81,7 @@ ar:
78
81
  Plugins: الإضافات
79
82
  NotYetEnqueued: لم تدخل الرتل بعد
80
83
  CreatedAt: أنشئت في
81
- BackToApp: العودة إلى التطبيق
84
+ BackToApp: العودة إلى التطبيق
85
+ Latency: زمن الانتظار
86
+ Pause: إيقاف مؤقت
87
+ Unpause: متابعة
data/web/locales/en.yml CHANGED
@@ -7,6 +7,7 @@ en: # <---- change this to your locale code
7
7
  Realtime: Real-time
8
8
  History: History
9
9
  Busy: Busy
10
+ Utilization: Utilization
10
11
  Processed: Processed
11
12
  Failed: Failed
12
13
  Scheduled: Scheduled
@@ -26,7 +27,7 @@ en: # <---- change this to your locale code
26
27
  Delete: Delete
27
28
  AddToQueue: Add to queue
28
29
  AreYouSureDeleteJob: Are you sure you want to delete this job?
29
- AreYouSureDeleteQueue: Are you sure you want to delete the %{queue} queue?
30
+ AreYouSureDeleteQueue: Are you sure you want to delete the %{queue} queue? This will delete all jobs within the queue, it will reappear if you push more jobs to it in the future.
30
31
  Queues: Queues
31
32
  Size: Size
32
33
  Actions: Actions
@@ -64,7 +65,9 @@ en: # <---- change this to your locale code
64
65
  DeadJobs: Dead Jobs
65
66
  NoDeadJobsFound: No dead jobs were found
66
67
  Dead: Dead
68
+ Process: Process
67
69
  Processes: Processes
70
+ Name: Name
68
71
  Thread: Thread
69
72
  Threads: Threads
70
73
  Jobs: Jobs
data/web/locales/es.yml CHANGED
@@ -7,6 +7,7 @@ es:
7
7
  Realtime: Tiempo Real
8
8
  History: Historial
9
9
  Busy: Ocupado
10
+ Utilization: Utilización
10
11
  Processed: Procesadas
11
12
  Failed: Fallidas
12
13
  Scheduled: Programadas
@@ -24,9 +25,9 @@ es:
24
25
  ShowAll: Mostrar Todo
25
26
  CurrentMessagesInQueue: Mensajes actualmente en <span class='title'>%{queue}</span>
26
27
  Delete: Eliminar
27
- AddToQueue: Añadir a fila
28
+ AddToQueue: Añadir a la cola
28
29
  AreYouSureDeleteJob: ¿Estás seguro de eliminar este trabajo?
29
- AreYouSureDeleteQueue: ¿Estás seguro de eliminar la fila %{queue}?
30
+ AreYouSureDeleteQueue: ¿Estás seguro de eliminar la cola %{queue}?
30
31
  Queues: Colas
31
32
  Size: Tamaño
32
33
  Actions: Acciones
@@ -39,6 +40,7 @@ es:
39
40
  AreYouSure: ¿Estás seguro?
40
41
  DeleteAll: Borrar Todo
41
42
  RetryAll: Reintentar Todo
43
+ KillAll: Matar Todo
42
44
  NoRetriesFound: No se encontraron reintentos
43
45
  Error: Error
44
46
  ErrorClass: Clase del Error
@@ -63,8 +65,22 @@ es:
63
65
  DeadJobs: Trabajos muertos
64
66
  NoDeadJobsFound: No hay trabajos muertos
65
67
  Dead: Muerto
68
+ Process: Proceso
66
69
  Processes: Procesos
70
+ Name: Nombre
67
71
  Thread: Hilo
68
72
  Threads: Hilos
69
73
  Jobs: Trabajos
74
+ Paused: Pausado
75
+ Stop: Detener
76
+ Quiet: Silenciar
77
+ StopAll: Detener Todo
78
+ QuietAll: Silenciar Todo
79
+ PollingInterval: Intervalo de Sondeo
80
+ Plugins: Plugins
81
+ NotYetEnqueued: Aún no en cola
82
+ CreatedAt: Creado en
83
+ BackToApp: Volver a la Aplicación
70
84
  Latency: Latencia
85
+ Pause: Pausar
86
+ Unpause: Reanudar
data/web/locales/fr.yml CHANGED
@@ -7,6 +7,7 @@ fr:
7
7
  Realtime: Temps réel
8
8
  History: Historique
9
9
  Busy: En cours
10
+ Utilization: Utilisation
10
11
  Processed: Traitées
11
12
  Failed: Échouées
12
13
  Scheduled: Planifiées
@@ -39,6 +40,7 @@ fr:
39
40
  AreYouSure: Êtes-vous certain ?
40
41
  DeleteAll: Tout supprimer
41
42
  RetryAll: Tout réessayer
43
+ KillAll: Tout tuer
42
44
  NoRetriesFound: Aucune tâche à réessayer n’a été trouvée
43
45
  Error: Erreur
44
46
  ErrorClass: Classe d’erreur
@@ -63,6 +65,7 @@ fr:
63
65
  DeadJobs: Tâches mortes
64
66
  NoDeadJobsFound: Aucune tâche morte n'a été trouvée
65
67
  Dead: Mortes
68
+ Process: Processus
66
69
  Processes: Processus
67
70
  Thread: Thread
68
71
  Threads: Threads
@@ -76,3 +79,7 @@ fr:
76
79
  Plugins: Plugins
77
80
  NotYetEnqueued: Pas encore en file d'attente
78
81
  CreatedAt: Créée le
82
+ Back to App: Retour à l'application
83
+ Latency: Latence
84
+ Pause: Pause
85
+ Unpause: Unpause
data/web/locales/ja.yml CHANGED
@@ -7,6 +7,7 @@ ja:
7
7
  Realtime: リアルタイム
8
8
  History: 履歴
9
9
  Busy: 実行中
10
+ Utilization: 使用率
10
11
  Processed: 完了
11
12
  Failed: 失敗
12
13
  Scheduled: 予定
@@ -64,7 +65,9 @@ ja:
64
65
  DeadJobs: デッドジョブ
65
66
  NoDeadJobsFound: デッドジョブはありません
66
67
  Dead: デッド
68
+ Process: プロセス
67
69
  Processes: プロセス
70
+ Name: 名前
68
71
  Thread: スレッド
69
72
  Threads: スレッド
70
73
  Jobs: ジョブ
data/web/locales/lt.yml CHANGED
@@ -71,7 +71,7 @@ lt:
71
71
  Paused: Pristabdytas
72
72
  Stop: Sustabdyti
73
73
  Quiet: Nutildyti
74
- StopAll: Sustbadyti Visus
74
+ StopAll: Sustabdyti Visus
75
75
  QuietAll: Nutildyti Visus
76
76
  PollingInterval: Užklausimų intervalas
77
77
  Plugins: Įskiepiai
@@ -9,7 +9,7 @@
9
9
  <p class="navbar-text redis-url" title="<%= redis_connection_and_namespace %>"><%= redis_connection_and_namespace %></p>
10
10
  </li>
11
11
  <li>
12
- <p class="navbar-text server-utc-time"><%= server_utc_time %></p>
12
+ <p id="serverUtcTime" class="navbar-text server-utc-time"><%= server_utc_time %></p>
13
13
  </li>
14
14
  <li>
15
15
  <p class="navbar-text"><a style="color: gray;" href="https://github.com/mperham/sidekiq/wiki">docs</a></p>
@@ -3,7 +3,7 @@
3
3
  </header>
4
4
 
5
5
  <div class="table_container">
6
- <table class="table table-bordered table-striped">
6
+ <table class="table table-bordered table-striped table-hover">
7
7
  <tbody>
8
8
  <tr>
9
9
  <th><%= t('Queue') %></th>
@@ -1,7 +1,4 @@
1
1
  <% if current_path != '' %>
2
- <% if params[:poll] %>
3
- <a id="live-poll" class="btn btn-primary active" href="<%= root_path + current_path %>"><%= t('StopPolling') %></a>
4
- <% else %>
5
- <a id="live-poll" class="btn btn-primary" href="<%= root_path + current_path %>?<%= qparams(poll: true) %>"><%= t('LivePoll') %></a>
6
- <% end %>
2
+ <a class="live-poll-start live-poll btn btn-primary"><%= t('LivePoll') %></a>
3
+ <a class="live-poll-stop live-poll btn btn-primary active"><%= t('StopPolling') %></a>
7
4
  <% end %>