sidekiq 6.0.7 → 6.4.1

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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +167 -2
  3. data/LICENSE +3 -3
  4. data/README.md +10 -9
  5. data/bin/sidekiq +8 -3
  6. data/bin/sidekiqload +56 -58
  7. data/bin/sidekiqmon +1 -1
  8. data/lib/generators/sidekiq/job_generator.rb +57 -0
  9. data/lib/generators/sidekiq/templates/{worker.rb.erb → job.rb.erb} +2 -2
  10. data/lib/generators/sidekiq/templates/{worker_spec.rb.erb → job_spec.rb.erb} +1 -1
  11. data/lib/generators/sidekiq/templates/{worker_test.rb.erb → job_test.rb.erb} +1 -1
  12. data/lib/sidekiq/api.rb +145 -97
  13. data/lib/sidekiq/cli.rb +46 -12
  14. data/lib/sidekiq/client.rb +28 -46
  15. data/lib/sidekiq/delay.rb +2 -0
  16. data/lib/sidekiq/extensions/action_mailer.rb +3 -2
  17. data/lib/sidekiq/extensions/active_record.rb +4 -3
  18. data/lib/sidekiq/extensions/class_methods.rb +5 -4
  19. data/lib/sidekiq/extensions/generic_proxy.rb +3 -1
  20. data/lib/sidekiq/fetch.rb +32 -23
  21. data/lib/sidekiq/job.rb +13 -0
  22. data/lib/sidekiq/job_logger.rb +16 -28
  23. data/lib/sidekiq/job_retry.rb +10 -11
  24. data/lib/sidekiq/job_util.rb +65 -0
  25. data/lib/sidekiq/launcher.rb +104 -46
  26. data/lib/sidekiq/logger.rb +7 -2
  27. data/lib/sidekiq/manager.rb +10 -12
  28. data/lib/sidekiq/middleware/chain.rb +6 -4
  29. data/lib/sidekiq/middleware/current_attributes.rb +57 -0
  30. data/lib/sidekiq/paginator.rb +8 -8
  31. data/lib/sidekiq/processor.rb +4 -4
  32. data/lib/sidekiq/rails.rb +27 -18
  33. data/lib/sidekiq/redis_connection.rb +14 -13
  34. data/lib/sidekiq/scheduled.rb +51 -16
  35. data/lib/sidekiq/sd_notify.rb +1 -1
  36. data/lib/sidekiq/testing.rb +2 -4
  37. data/lib/sidekiq/util.rb +41 -0
  38. data/lib/sidekiq/version.rb +1 -1
  39. data/lib/sidekiq/web/action.rb +2 -2
  40. data/lib/sidekiq/web/application.rb +21 -12
  41. data/lib/sidekiq/web/csrf_protection.rb +180 -0
  42. data/lib/sidekiq/web/helpers.rb +36 -30
  43. data/lib/sidekiq/web/router.rb +5 -2
  44. data/lib/sidekiq/web.rb +36 -72
  45. data/lib/sidekiq/worker.rb +127 -12
  46. data/lib/sidekiq.rb +13 -3
  47. data/sidekiq.gemspec +11 -4
  48. data/web/assets/images/apple-touch-icon.png +0 -0
  49. data/web/assets/javascripts/application.js +82 -66
  50. data/web/assets/javascripts/dashboard.js +51 -51
  51. data/web/assets/stylesheets/application-dark.css +64 -43
  52. data/web/assets/stylesheets/application-rtl.css +0 -4
  53. data/web/assets/stylesheets/application.css +43 -239
  54. data/web/locales/ar.yml +8 -2
  55. data/web/locales/en.yml +4 -1
  56. data/web/locales/es.yml +18 -2
  57. data/web/locales/fr.yml +8 -1
  58. data/web/locales/ja.yml +3 -0
  59. data/web/locales/lt.yml +1 -1
  60. data/web/locales/pl.yml +4 -4
  61. data/web/locales/ru.yml +4 -0
  62. data/web/views/_footer.erb +1 -1
  63. data/web/views/_job_info.erb +1 -1
  64. data/web/views/_poll_link.erb +2 -5
  65. data/web/views/_summary.erb +7 -7
  66. data/web/views/busy.erb +50 -19
  67. data/web/views/dashboard.erb +22 -14
  68. data/web/views/dead.erb +1 -1
  69. data/web/views/layout.erb +2 -1
  70. data/web/views/morgue.erb +6 -6
  71. data/web/views/queue.erb +11 -11
  72. data/web/views/queues.erb +4 -4
  73. data/web/views/retries.erb +7 -7
  74. data/web/views/retry.erb +1 -1
  75. data/web/views/scheduled.erb +1 -1
  76. metadata +24 -49
  77. data/.circleci/config.yml +0 -60
  78. data/.github/contributing.md +0 -32
  79. data/.github/issue_template.md +0 -11
  80. data/.gitignore +0 -13
  81. data/.standard.yml +0 -20
  82. data/3.0-Upgrade.md +0 -70
  83. data/4.0-Upgrade.md +0 -53
  84. data/5.0-Upgrade.md +0 -56
  85. data/6.0-Upgrade.md +0 -72
  86. data/COMM-LICENSE +0 -97
  87. data/Ent-2.0-Upgrade.md +0 -37
  88. data/Ent-Changes.md +0 -256
  89. data/Gemfile +0 -24
  90. data/Gemfile.lock +0 -208
  91. data/Pro-2.0-Upgrade.md +0 -138
  92. data/Pro-3.0-Upgrade.md +0 -44
  93. data/Pro-4.0-Upgrade.md +0 -35
  94. data/Pro-5.0-Upgrade.md +0 -25
  95. data/Pro-Changes.md +0 -782
  96. data/Rakefile +0 -10
  97. data/code_of_conduct.md +0 -50
  98. 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
  }
@@ -127,6 +118,10 @@ header.row .pagination {
127
118
  width: 14%;
128
119
  }
129
120
  @media (max-width: 767px) and (min-width: 200px) {
121
+ .summary_bar {
122
+ font-size: 1.5em;
123
+ }
124
+
130
125
  .summary_bar ul li {
131
126
  width: 100%;
132
127
  }
@@ -147,16 +142,6 @@ header.row .pagination {
147
142
  width: 96px !important;
148
143
  }
149
144
  }
150
- /*@media (max-width: 1199px) and (min-width: 980px) {
151
- .summary_bar ul li.col-sm-2 {
152
- width: 130px !important;
153
- }
154
- }
155
- @media (min-width: 1200px) {
156
- .summary_bar ul li.col-sm-2 {
157
- width: 154px !important;
158
- }
159
- }*/
160
145
  .summary_bar ul .desc {
161
146
  display: block;
162
147
  font-size: 1em;
@@ -177,10 +162,6 @@ header.row .pagination {
177
162
  overflow: overlay;
178
163
  }
179
164
 
180
- table.table-white {
181
- background-color: #fff;
182
- }
183
-
184
165
  .queues form {
185
166
  margin: 0;
186
167
  }
@@ -190,7 +171,7 @@ form .btn {
190
171
  }
191
172
 
192
173
  form .btn-group .btn {
193
- margin-right: 1px;
174
+ margin-right: 4px;
194
175
  }
195
176
 
196
177
  td form {
@@ -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 {
@@ -226,6 +202,8 @@ table .table-checkbox label {
226
202
 
227
203
  .navbar .navbar-brand .status {
228
204
  color: #585454;
205
+ display: inline-block;
206
+ width: 75px;
229
207
  }
230
208
 
231
209
 
@@ -277,8 +255,7 @@ table .table-checkbox label {
277
255
 
278
256
  .navbar .nav a {
279
257
  text-align: center;
280
- }
281
-
258
+ }
282
259
  }
283
260
 
284
261
  @media (width: 768px) {
@@ -290,18 +267,6 @@ table .table-checkbox label {
290
267
  .navbar .poll-wrapper {
291
268
  margin: 4px 4px 0 0;
292
269
  }
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
270
  }
306
271
 
307
272
  .navbar-footer .navbar ul.nav {
@@ -356,51 +321,23 @@ img.smallogo {
356
321
  .btn {
357
322
  font-weight: 700;
358
323
  border: none;
359
- -webkit-border-radius: 3px;
360
- -moz-border-radius: 3px;
361
- -ms-border-radius: 3px;
362
- -o-border-radius: 3px;
363
324
  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
325
  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
326
  background-image: linear-gradient(#b1003e, #980035);
383
- }
384
- .btn-primary:hover {
385
327
  background-color: #980035;
328
+ color: #ddd;
386
329
  }
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;
330
+ .btn:hover {
331
+ color: #000;
332
+ background-image: none;
333
+ background-color: #ddd;
397
334
  }
398
335
 
399
336
  .poll-status {
400
337
  padding: 10px 0;
401
338
  }
402
339
 
403
- .redis-wrapper {
340
+ .stats-wrapper {
404
341
  width: 100%;
405
342
  text-align: center;
406
343
  }
@@ -414,6 +351,7 @@ img.smallogo {
414
351
  text-align: center;
415
352
  margin-right: 20px;
416
353
  border: 1px solid rgba(0, 0, 0, 0.1);
354
+ border-radius: 4px;
417
355
  padding: 5px;
418
356
  width: 150px;
419
357
  margin-bottom: 20px;
@@ -442,7 +380,7 @@ img.smallogo {
442
380
  margin: 5px 10px 5px 5px;
443
381
  }
444
382
  .stat p{
445
- font-size: 1em;
383
+ font-size: 1.5em;
446
384
  margin: 5px 5px 5px 10px;
447
385
  }
448
386
  }
@@ -469,6 +407,8 @@ span.current-interval {
469
407
 
470
408
  div.interval-slider input {
471
409
  width: 160px;
410
+ border-radius: 2px;
411
+ background: currentcolor;
472
412
  }
473
413
 
474
414
  #realtime-legend,
@@ -540,51 +480,17 @@ div.interval-slider input {
540
480
  background-color: #80002d;
541
481
  border-radius: 10px;
542
482
  box-shadow: 0 0 9px #666;
543
- -moz-box-shadow: 0 0 9px #666;
544
- -webkit-box-shadow: 0 0 9px #666;
545
483
  border: 3px solid transparent;
546
484
  z-index: 10;
547
485
  }
548
486
 
549
487
  .beacon.pulse .dot {
550
- -webkit-animation: beacon-dot-pulse 1s ease-out;
551
- -moz-animation: beacon-dot-pulse 1s ease-out;
552
488
  animation: beacon-dot-pulse 1s ease-out;
553
489
  }
554
490
 
555
- @-webkit-keyframes beacon-dot-pulse {
556
- from {
557
- background-color: #80002d;
558
- -webkit-box-shadow: 0 0 9px #666;
559
- }
560
- 50% {
561
- background-color: #c90047;
562
- -webkit-box-shadow: 0 0 18px #666;
563
- }
564
- to {
565
- background-color: #80002d;
566
- -webkit-box-shadow: 0 0 9px #666;
567
- }
568
- }
569
-
570
- @-moz-keyframes beacon-dot-pulse {
571
- from {
572
- background-color: #80002d;
573
- -moz-box-shadow: 0 0 9px #666;
574
- }
575
- 50% {
576
- background-color: #c90047;
577
- -moz-box-shadow: 0 0 18px #666;
578
- }
579
- to {
580
- background-color: #80002d;
581
- -moz-box-shadow: 0 0 9px #666;
582
- }
583
- }
584
-
585
491
  @keyframes beacon-dot-pulse {
586
492
  from {
587
- background-color: #80002d;
493
+ background-color: #50002d;
588
494
  box-shadow: 0 0 9px #666;
589
495
  }
590
496
  50% {
@@ -592,7 +498,7 @@ div.interval-slider input {
592
498
  box-shadow: 0 0 18px #666;
593
499
  }
594
500
  to {
595
- background-color: #80002d;
501
+ background-color: #50002d;
596
502
  box-shadow: 0 0 9px #666;
597
503
  }
598
504
  }
@@ -608,33 +514,9 @@ div.interval-slider input {
608
514
  }
609
515
 
610
516
  .beacon.pulse .ring {
611
- -webkit-animation: beacon-ring-pulse 1s;
612
- -moz-animation: beacon-ring-pulse 1s;
613
517
  animation: beacon-ring-pulse 1s;
614
518
  }
615
519
 
616
- @-webkit-keyframes beacon-ring-pulse {
617
- 0% {
618
- opacity: 1;
619
- -webkit-transform: scale(0.3);
620
- }
621
- 100% {
622
- opacity: 0;
623
- -webkit-transform: scale(1);
624
- }
625
- }
626
-
627
- @-moz-keyframes beacon-ring-pulse {
628
- 0% {
629
- opacity: 1;
630
- -moz-transform: scale(0.3);
631
- }
632
- 100% {
633
- opacity: 0;
634
- -moz-transform: scale(1);
635
- }
636
- }
637
-
638
520
  @keyframes beacon-ring-pulse {
639
521
  0% {
640
522
  opacity: 1;
@@ -655,7 +537,6 @@ div.interval-slider input {
655
537
  }
656
538
 
657
539
  .history-graph {
658
- font-size: 0.8em;
659
540
  padding: 3px;
660
541
  border-radius: 3px;
661
542
  }
@@ -739,13 +620,10 @@ div.interval-slider input {
739
620
  position: absolute;
740
621
  top: 0;
741
622
  z-index: 2;
742
- background: rgba(0, 0, 0, .1);
623
+ background: rgba(0, 0, 0, .9);
743
624
  bottom: 0;
744
625
  width: 1px;
745
626
  transition: opacity .25s linear;
746
- -moz-transition: opacity .25s linear;
747
- -o-transition: opacity .25s linear;
748
- -webkit-transition: opacity .25s linear
749
627
  }
750
628
  .rickshaw_graph .detail.inactive {
751
629
  opacity: 0
@@ -757,7 +635,7 @@ div.interval-slider input {
757
635
  font-family: Arial, sans-serif;
758
636
  border-radius: 3px;
759
637
  padding: 6px;
760
- opacity: .5;
638
+ opacity: .7;
761
639
  border: 1px solid #e0e0e0;
762
640
  font-size: 12px;
763
641
  position: absolute;
@@ -827,7 +705,6 @@ div.interval-slider input {
827
705
  position: absolute;
828
706
  box-shadow: 0 0 2px rgba(0, 0, 0, .6);
829
707
  box-sizing: content-box;
830
- -moz-box-sizing: content-box;
831
708
  background: #fff;
832
709
  border-width: 2px;
833
710
  border-style: solid;
@@ -849,96 +726,16 @@ div.interval-slider input {
849
726
  top: 0;
850
727
  bottom: 0;
851
728
  width: 0;
852
- border-left: 1px dotted rgba(0, 0, 0, .2);
729
+ border-left: 1px dotted rgba(0, 0, 0, .5);
853
730
  pointer-events: none
854
731
  }
855
732
  .rickshaw_graph .x_tick .title {
856
733
  position: absolute;
857
- font-size: 12px;
858
734
  font-family: Arial, sans-serif;
859
- opacity: .5;
860
735
  white-space: nowrap;
861
736
  margin-left: 3px;
862
737
  bottom: 1px
863
738
  }
864
- .rickshaw_annotation_timeline {
865
- height: 1px;
866
- border-top: 1px solid #e0e0e0;
867
- margin-top: 10px;
868
- position: relative
869
- }
870
- .rickshaw_annotation_timeline .annotation {
871
- position: absolute;
872
- height: 6px;
873
- width: 6px;
874
- margin-left: -2px;
875
- top: -3px;
876
- border-radius: 5px;
877
- background-color: rgba(0, 0, 0, .25)
878
- }
879
- .rickshaw_graph .annotation_line {
880
- position: absolute;
881
- top: 0;
882
- bottom: -6px;
883
- width: 0;
884
- border-left: 2px solid rgba(0, 0, 0, .3);
885
- display: none
886
- }
887
- .rickshaw_graph .annotation_line.active {
888
- display: block
889
- }
890
- .rickshaw_graph .annotation_range {
891
- background: rgba(0, 0, 0, .1);
892
- display: none;
893
- position: absolute;
894
- top: 0;
895
- bottom: -6px
896
- }
897
- .rickshaw_graph .annotation_range.active {
898
- display: block
899
- }
900
- .rickshaw_graph .annotation_range.active.offscreen {
901
- display: none
902
- }
903
- .rickshaw_annotation_timeline .annotation .content {
904
- background: #fff;
905
- color: #000;
906
- opacity: .9;
907
- padding: 5px;
908
- box-shadow: 0 0 2px rgba(0, 0, 0, .8);
909
- border-radius: 3px;
910
- position: relative;
911
- z-index: 20;
912
- font-size: 12px;
913
- padding: 6px 8px 8px;
914
- top: 18px;
915
- left: -11px;
916
- width: 160px;
917
- display: none;
918
- cursor: pointer
919
- }
920
- .rickshaw_annotation_timeline .annotation .content:before {
921
- content: "\25b2";
922
- position: absolute;
923
- top: -11px;
924
- color: #fff;
925
- text-shadow: 0 -1px 1px rgba(0, 0, 0, .8)
926
- }
927
- .rickshaw_annotation_timeline .annotation.active,
928
- .rickshaw_annotation_timeline .annotation:hover {
929
- background-color: rgba(0, 0, 0, .8);
930
- cursor: none
931
- }
932
- .rickshaw_annotation_timeline .annotation .content:hover {
933
- z-index: 50
934
- }
935
- .rickshaw_annotation_timeline .annotation.active .content {
936
- display: block
937
- }
938
- .rickshaw_annotation_timeline .annotation:hover .content {
939
- display: block;
940
- z-index: 50
941
- }
942
739
  .rickshaw_graph .y_axis,
943
740
  .rickshaw_graph .x_axis_d3 {
944
741
  fill: none
@@ -972,7 +769,7 @@ div.interval-slider input {
972
769
  }
973
770
  .rickshaw_graph .y_ticks text,
974
771
  .rickshaw_graph .x_ticks_d3 text {
975
- opacity: .5;
772
+ opacity: .7;
976
773
  font-size: 12px;
977
774
  pointer-events: none
978
775
  }
@@ -990,7 +787,6 @@ div.interval-slider input {
990
787
  }
991
788
  .rickshaw_legend {
992
789
  font-family: Arial;
993
- font-size: 12px;
994
790
  color: #fff;
995
791
  background: #404040;
996
792
  display: inline-block;
@@ -1033,10 +829,8 @@ div.interval-slider input {
1033
829
  }
1034
830
  .rickshaw_legend .action {
1035
831
  margin-right: .2em;
1036
- font-size: 10px;
1037
- opacity: .2;
832
+ opacity: .5;
1038
833
  cursor: pointer;
1039
- font-size: 14px
1040
834
  }
1041
835
  .rickshaw_legend .line.disabled {
1042
836
  opacity: .4
@@ -1151,3 +945,13 @@ div.interval-slider input {
1151
945
  .delete-confirm {
1152
946
  width: 20%;
1153
947
  }
948
+
949
+ .info-circle {
950
+ color: #ccc;
951
+ background-color: #000;
952
+ border-radius: 50%;
953
+ text-align: center;
954
+ vertical-align: middle;
955
+ padding: 3px 7px;
956
+ margin-left: 5px;
957
+ }
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
@@ -72,7 +75,11 @@ fr:
72
75
  Quiet: Clore
73
76
  StopAll: Tout arrêter
74
77
  QuietAll: Tout clore
75
- PollingInterval: Interval de rafraîchissement
78
+ PollingInterval: Intervalle de rafraîchissement
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