sidekiq 6.5.12 → 7.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +224 -20
  3. data/README.md +43 -35
  4. data/bin/multi_queue_bench +271 -0
  5. data/bin/sidekiq +3 -8
  6. data/bin/sidekiqload +204 -118
  7. data/bin/sidekiqmon +3 -0
  8. data/lib/sidekiq/api.rb +187 -135
  9. data/lib/sidekiq/capsule.rb +127 -0
  10. data/lib/sidekiq/cli.rb +59 -75
  11. data/lib/sidekiq/client.rb +66 -37
  12. data/lib/sidekiq/component.rb +4 -1
  13. data/lib/sidekiq/config.rb +287 -0
  14. data/lib/sidekiq/deploy.rb +62 -0
  15. data/lib/sidekiq/embedded.rb +61 -0
  16. data/lib/sidekiq/fetch.rb +11 -14
  17. data/lib/sidekiq/job.rb +371 -10
  18. data/lib/sidekiq/job_logger.rb +2 -2
  19. data/lib/sidekiq/job_retry.rb +36 -18
  20. data/lib/sidekiq/job_util.rb +51 -15
  21. data/lib/sidekiq/launcher.rb +71 -65
  22. data/lib/sidekiq/logger.rb +2 -27
  23. data/lib/sidekiq/manager.rb +9 -11
  24. data/lib/sidekiq/metrics/query.rb +7 -4
  25. data/lib/sidekiq/metrics/shared.rb +8 -7
  26. data/lib/sidekiq/metrics/tracking.rb +27 -21
  27. data/lib/sidekiq/middleware/chain.rb +19 -18
  28. data/lib/sidekiq/middleware/current_attributes.rb +52 -20
  29. data/lib/sidekiq/monitor.rb +16 -3
  30. data/lib/sidekiq/paginator.rb +2 -2
  31. data/lib/sidekiq/processor.rb +46 -51
  32. data/lib/sidekiq/rails.rb +15 -10
  33. data/lib/sidekiq/redis_client_adapter.rb +23 -66
  34. data/lib/sidekiq/redis_connection.rb +15 -117
  35. data/lib/sidekiq/scheduled.rb +22 -23
  36. data/lib/sidekiq/testing.rb +32 -41
  37. data/lib/sidekiq/transaction_aware_client.rb +11 -5
  38. data/lib/sidekiq/version.rb +2 -1
  39. data/lib/sidekiq/web/action.rb +8 -3
  40. data/lib/sidekiq/web/application.rb +108 -15
  41. data/lib/sidekiq/web/csrf_protection.rb +10 -7
  42. data/lib/sidekiq/web/helpers.rb +52 -38
  43. data/lib/sidekiq/web.rb +17 -16
  44. data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
  45. data/lib/sidekiq.rb +76 -274
  46. data/sidekiq.gemspec +12 -10
  47. data/web/assets/javascripts/application.js +39 -0
  48. data/web/assets/javascripts/base-charts.js +106 -0
  49. data/web/assets/javascripts/dashboard-charts.js +182 -0
  50. data/web/assets/javascripts/dashboard.js +10 -232
  51. data/web/assets/javascripts/metrics.js +151 -115
  52. data/web/assets/stylesheets/application-dark.css +4 -0
  53. data/web/assets/stylesheets/application-rtl.css +10 -89
  54. data/web/assets/stylesheets/application.css +45 -298
  55. data/web/locales/ar.yml +70 -70
  56. data/web/locales/cs.yml +62 -62
  57. data/web/locales/da.yml +60 -53
  58. data/web/locales/de.yml +65 -65
  59. data/web/locales/el.yml +2 -7
  60. data/web/locales/en.yml +78 -70
  61. data/web/locales/es.yml +68 -68
  62. data/web/locales/fa.yml +65 -65
  63. data/web/locales/fr.yml +81 -67
  64. data/web/locales/gd.yml +99 -0
  65. data/web/locales/he.yml +65 -64
  66. data/web/locales/hi.yml +59 -59
  67. data/web/locales/it.yml +53 -53
  68. data/web/locales/ja.yml +67 -69
  69. data/web/locales/ko.yml +52 -52
  70. data/web/locales/lt.yml +66 -66
  71. data/web/locales/nb.yml +61 -61
  72. data/web/locales/nl.yml +52 -52
  73. data/web/locales/pl.yml +45 -45
  74. data/web/locales/pt-br.yml +79 -69
  75. data/web/locales/pt.yml +51 -51
  76. data/web/locales/ru.yml +67 -66
  77. data/web/locales/sv.yml +53 -53
  78. data/web/locales/ta.yml +60 -60
  79. data/web/locales/uk.yml +62 -61
  80. data/web/locales/ur.yml +64 -64
  81. data/web/locales/vi.yml +67 -67
  82. data/web/locales/zh-cn.yml +20 -18
  83. data/web/locales/zh-tw.yml +10 -1
  84. data/web/views/_footer.erb +17 -2
  85. data/web/views/_job_info.erb +18 -2
  86. data/web/views/_metrics_period_select.erb +12 -0
  87. data/web/views/_paging.erb +2 -0
  88. data/web/views/_poll_link.erb +1 -1
  89. data/web/views/_summary.erb +7 -7
  90. data/web/views/busy.erb +46 -35
  91. data/web/views/dashboard.erb +26 -5
  92. data/web/views/filtering.erb +7 -0
  93. data/web/views/metrics.erb +46 -24
  94. data/web/views/metrics_for_job.erb +41 -69
  95. data/web/views/morgue.erb +5 -9
  96. data/web/views/queue.erb +10 -14
  97. data/web/views/queues.erb +9 -3
  98. data/web/views/retries.erb +5 -9
  99. data/web/views/scheduled.erb +12 -13
  100. metadata +44 -38
  101. data/lib/sidekiq/delay.rb +0 -43
  102. data/lib/sidekiq/extensions/action_mailer.rb +0 -48
  103. data/lib/sidekiq/extensions/active_record.rb +0 -43
  104. data/lib/sidekiq/extensions/class_methods.rb +0 -43
  105. data/lib/sidekiq/extensions/generic_proxy.rb +0 -33
  106. data/lib/sidekiq/metrics/deploy.rb +0 -47
  107. data/lib/sidekiq/worker.rb +0 -370
  108. data/web/assets/javascripts/graph.js +0 -16
  109. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -72,8 +72,10 @@ h1, h2, h3 {
72
72
  line-height: 45px;
73
73
  }
74
74
 
75
- .header-with-subheader h2 {
76
- margin-top: -18px;
75
+ .header-container, .header-container .page-title-container {
76
+ display: flex;
77
+ justify-content: space-between;
78
+ align-items: center;
77
79
  }
78
80
 
79
81
  .centered {
@@ -368,6 +370,15 @@ img.smallogo {
368
370
  .stat p {
369
371
  font-size: 0.9em;
370
372
  }
373
+
374
+ .num {
375
+ font-family: monospace;
376
+ }
377
+
378
+ td.num {
379
+ text-align: right;
380
+ }
381
+
371
382
  @media (max-width: 767px) {
372
383
  .stats-container {
373
384
  display: block;
@@ -415,51 +426,27 @@ div.interval-slider input {
415
426
  background: currentcolor;
416
427
  }
417
428
 
418
- #realtime-legend,
419
- #history-legend {
420
- width: 580px;
421
- text-align: left;
422
- margin-top: 5px;
423
- float: right;
424
- }
425
- #realtime-legend .timestamp,
426
- #history-legend .timestamp {
427
- display: inline-block;
428
- width: 220px;
429
- text-align: right;
429
+ #realtime-legend {
430
+ margin-top: -20px;
431
+ padding-left: 30px;
432
+ display: flex;
433
+ justify-content: end;
434
+ align-items: center;
430
435
  }
431
- #realtime-legend .line,
432
- #history-legend .line {
433
- display: inline-block;
434
- margin: 0 0 0 20px;
436
+ #realtime-legend > * {
437
+ min-width: 14rem;
435
438
  }
436
- #realtime-legend .swatch,
437
- #history-legend .swatch {
439
+ #realtime-legend .swatch {
438
440
  display: inline-block;
439
441
  width: 10px;
440
442
  height: 10px;
441
- margin: 0 8px 0 0;
442
- }
443
- #realtime-legend .tag,
444
- #history-legend .tag {
445
- display: inline-block;
443
+ margin: 0 5px;
446
444
  }
447
-
448
- @media (max-width: 790px) {
449
- #realtime-legend,
450
- #history-legend {
451
- float: none;
452
- width: 100%;
453
- margin-bottom: 20px;
454
- }
445
+ #realtime-legend .time {
446
+ min-width: auto;
447
+ text-align: right;
455
448
  }
456
449
 
457
- @media (max-width: 500px) {
458
- #realtime-legend,
459
- #history-legend {
460
- text-align: center;
461
- }
462
- }
463
450
  /* Beacon
464
451
  ********************************** */
465
452
 
@@ -619,247 +606,6 @@ div.interval-slider input {
619
606
  }
620
607
  }
621
608
 
622
- .rickshaw_graph .detail {
623
- pointer-events: none;
624
- position: absolute;
625
- top: 0;
626
- z-index: 2;
627
- background: rgba(0, 0, 0, .9);
628
- bottom: 0;
629
- width: 1px;
630
- transition: opacity .25s linear;
631
- }
632
- .rickshaw_graph .detail.inactive {
633
- opacity: 0
634
- }
635
- .rickshaw_graph .detail .item.active {
636
- opacity: 1
637
- }
638
- .rickshaw_graph .detail .x_label {
639
- font-family: Arial, sans-serif;
640
- border-radius: 3px;
641
- padding: 6px;
642
- opacity: .7;
643
- border: 1px solid #e0e0e0;
644
- font-size: 12px;
645
- position: absolute;
646
- background: #fff;
647
- white-space: nowrap
648
- }
649
- .rickshaw_graph .detail .x_label.left {
650
- left: 0
651
- }
652
- .rickshaw_graph .detail .x_label.right {
653
- right: 0
654
- }
655
- .rickshaw_graph .detail .item {
656
- position: absolute;
657
- z-index: 2;
658
- border-radius: 3px;
659
- padding: .25em;
660
- font-size: 12px;
661
- font-family: Arial, sans-serif;
662
- opacity: 0;
663
- background: rgba(0, 0, 0, .4);
664
- color: #fff;
665
- border: 1px solid rgba(0, 0, 0, .4);
666
- margin-left: 1em;
667
- margin-right: 1em;
668
- margin-top: -1em;
669
- white-space: nowrap
670
- }
671
- .rickshaw_graph .detail .item.left {
672
- left: 0
673
- }
674
- .rickshaw_graph .detail .item.right {
675
- right: 0
676
- }
677
- .rickshaw_graph .detail .item.active {
678
- opacity: 1;
679
- background: rgba(0, 0, 0, .8)
680
- }
681
- .rickshaw_graph .detail .item:after {
682
- position: absolute;
683
- display: block;
684
- width: 0;
685
- height: 0;
686
- content: "";
687
- border: 5px solid transparent
688
- }
689
- .rickshaw_graph .detail .item.left:after {
690
- top: 1em;
691
- left: -5px;
692
- margin-top: -5px;
693
- border-right-color: rgba(0, 0, 0, .8);
694
- border-left-width: 0
695
- }
696
- .rickshaw_graph .detail .item.right:after {
697
- top: 1em;
698
- right: -5px;
699
- margin-top: -5px;
700
- border-left-color: rgba(0, 0, 0, .8);
701
- border-right-width: 0
702
- }
703
- .rickshaw_graph .detail .dot {
704
- width: 4px;
705
- height: 4px;
706
- margin-left: -3px;
707
- margin-top: -3.5px;
708
- border-radius: 5px;
709
- position: absolute;
710
- box-shadow: 0 0 2px rgba(0, 0, 0, .6);
711
- box-sizing: content-box;
712
- background: #fff;
713
- border-width: 2px;
714
- border-style: solid;
715
- display: none;
716
- background-clip: padding-box
717
- }
718
- .rickshaw_graph .detail .dot.active {
719
- display: block
720
- }
721
- .rickshaw_graph {
722
- position: relative
723
- }
724
- .rickshaw_graph svg {
725
- display: block;
726
- overflow: hidden
727
- }
728
- .rickshaw_graph .x_tick {
729
- position: absolute;
730
- top: 0;
731
- bottom: 0;
732
- width: 0;
733
- border-left: 1px dotted rgba(0, 0, 0, .5);
734
- pointer-events: none
735
- }
736
- .rickshaw_graph .x_tick .title {
737
- position: absolute;
738
- font-family: Arial, sans-serif;
739
- white-space: nowrap;
740
- margin-left: 3px;
741
- bottom: 1px
742
- }
743
- .rickshaw_graph .y_axis,
744
- .rickshaw_graph .x_axis_d3 {
745
- fill: none
746
- }
747
- .rickshaw_graph .y_ticks .tick line,
748
- .rickshaw_graph .x_ticks_d3 .tick {
749
- stroke: rgba(0, 0, 0, .16);
750
- stroke-width: 2px;
751
- shape-rendering: crisp-edges;
752
- pointer-events: none
753
- }
754
- .rickshaw_graph .y_grid .tick,
755
- .rickshaw_graph .x_grid_d3 .tick {
756
- z-index: -1;
757
- stroke: rgba(0, 0, 0, .2);
758
- stroke-width: 1px;
759
- stroke-dasharray: 1 1
760
- }
761
- .rickshaw_graph .y_grid .tick[data-y-value="0"] {
762
- stroke-dasharray: 1 0
763
- }
764
- .rickshaw_graph .y_grid path,
765
- .rickshaw_graph .x_grid_d3 path {
766
- fill: none;
767
- stroke: none
768
- }
769
- .rickshaw_graph .y_ticks path,
770
- .rickshaw_graph .x_ticks_d3 path {
771
- fill: none;
772
- stroke: gray
773
- }
774
- .rickshaw_graph .y_ticks text,
775
- .rickshaw_graph .x_ticks_d3 text {
776
- opacity: .7;
777
- font-size: 12px;
778
- pointer-events: none
779
- }
780
- .rickshaw_graph .x_tick.glow .title,
781
- .rickshaw_graph .y_ticks.glow text {
782
- fill: #000;
783
- color: #000;
784
- text-shadow: -1px 1px 0 rgba(255, 255, 255, .1), 1px -1px 0 rgba(255, 255, 255, .1), 1px 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1), 0 -1px 0 rgba(255, 255, 255, .1), 1px 0 0 rgba(255, 255, 255, .1), -1px 0 0 rgba(255, 255, 255, .1), -1px -1px 0 rgba(255, 255, 255, .1)
785
- }
786
- .rickshaw_graph .x_tick.inverse .title,
787
- .rickshaw_graph .y_ticks.inverse text {
788
- fill: #fff;
789
- color: #fff;
790
- text-shadow: -1px 1px 0 rgba(0, 0, 0, .8), 1px -1px 0 rgba(0, 0, 0, .8), 1px 1px 0 rgba(0, 0, 0, .8), 0 1px 0 rgba(0, 0, 0, .8), 0 -1px 0 rgba(0, 0, 0, .8), 1px 0 0 rgba(0, 0, 0, .8), -1px 0 0 rgba(0, 0, 0, .8), -1px -1px 0 rgba(0, 0, 0, .8)
791
- }
792
- .rickshaw_legend {
793
- font-family: Arial;
794
- color: #fff;
795
- background: #404040;
796
- display: inline-block;
797
- padding: 12px 5px;
798
- border-radius: 2px;
799
- position: relative
800
- }
801
- .rickshaw_legend:hover {
802
- z-index: 10
803
- }
804
- .rickshaw_legend .swatch {
805
- width: 10px;
806
- height: 10px;
807
- border: 1px solid rgba(0, 0, 0, .2)
808
- }
809
- .rickshaw_legend .line {
810
- clear: both;
811
- line-height: 140%;
812
- padding-right: 15px
813
- }
814
- .rickshaw_legend .line .swatch {
815
- display: inline-block;
816
- margin-right: 3px;
817
- border-radius: 2px
818
- }
819
- .rickshaw_legend .label {
820
- margin: 0;
821
- white-space: nowrap;
822
- display: inline;
823
- font-size: inherit;
824
- background-color: transparent;
825
- color: inherit;
826
- font-weight: 400;
827
- line-height: normal;
828
- padding: 0;
829
- text-shadow: none
830
- }
831
- .rickshaw_legend .action:hover {
832
- opacity: .6
833
- }
834
- .rickshaw_legend .action {
835
- margin-right: .2em;
836
- opacity: .5;
837
- cursor: pointer;
838
- }
839
- .rickshaw_legend .line.disabled {
840
- opacity: .4
841
- }
842
- .rickshaw_legend ul {
843
- list-style-type: none;
844
- margin: 0;
845
- padding: 0;
846
- margin: 2px;
847
- cursor: pointer
848
- }
849
- .rickshaw_legend li {
850
- padding: 0 0 0 2px;
851
- min-width: 80px;
852
- white-space: nowrap
853
- }
854
- .rickshaw_legend li:hover {
855
- background: rgba(255, 255, 255, .08);
856
- border-radius: 3px
857
- }
858
- .rickshaw_legend li:active {
859
- background: rgba(255, 255, 255, .2);
860
- border-radius: 3px
861
- }
862
-
863
609
  .code-wrap {
864
610
  white-space: normal;
865
611
  }
@@ -887,37 +633,25 @@ div.interval-slider input {
887
633
  }
888
634
  }
889
635
 
890
- .redis-url, .redis-namespace {
636
+ .redis-url {
891
637
  overflow: hidden;
892
638
  white-space: nowrap;
893
639
  }
894
640
 
895
641
  @media (min-width: 768px) {
896
642
  .redis-url {
897
- max-width: 200px;
898
- }
899
-
900
- .redis-namespace {
901
- max-width: 150px;
643
+ max-width: 250px;
902
644
  }
903
645
  }
904
646
 
905
647
  @media (min-width: 992px) {
906
648
  .redis-url {
907
- max-width: 390px;
908
- }
909
-
910
- .redis-namespace {
911
- max-width: 300px;
649
+ max-width: 490px;
912
650
  }
913
651
  }
914
652
  @media (min-width: 1200px) {
915
653
  .redis-url {
916
- max-width: 480px;
917
- }
918
-
919
- .redis-namespace {
920
- max-width: 350px;
654
+ max-width: 600px;
921
655
  }
922
656
  }
923
657
 
@@ -951,8 +685,8 @@ div.interval-slider input {
951
685
  }
952
686
 
953
687
  .info-circle {
954
- color: #ccc;
955
- background-color: #000;
688
+ color: #333;
689
+ background-color: #ccc;
956
690
  border-radius: 50%;
957
691
  text-align: center;
958
692
  vertical-align: middle;
@@ -997,3 +731,16 @@ div.interval-slider input {
997
731
  canvas {
998
732
  margin: 20px 0 30px;
999
733
  }
734
+
735
+ #locale-select {
736
+ float: left;
737
+ margin: 8px 15px;
738
+ }
739
+
740
+ @media (max-width: 767px) {
741
+ #locale-select {
742
+ float: none;
743
+ width: auto;
744
+ margin: 15px auto;
745
+ }
746
+ }
data/web/locales/ar.yml CHANGED
@@ -1,87 +1,87 @@
1
1
  # elements like %{queue} are variables and should not be translated
2
2
  ar:
3
- TextDirection: 'rtl'
4
- Dashboard: لوحة التحكم
5
- Status: حالة
6
- Time: وقت
7
- Namespace: مساحة الاسم
8
- Realtime: الزمن الفعلي
9
- History: تاريخ
10
- Busy: مشغول
11
- Utilization: الاستخدام
12
- Processed: تمت المعالجة
13
- Failed: فشل
14
- Scheduled: مجدول
15
- Retries: إعادة محاولة
16
- Enqueued: في الرتل
17
- Worker: عامل
18
- LivePoll: استعلام مباشر
19
- StopPolling: إيقاف الاستعلامات
20
- Queue: رتل
21
- Class: نوع
22
- Job: وظيفة
23
- Arguments: مدخلات
24
- Extras: إضافات
25
- Started: بدأت
26
- ShowAll: عرض الكل
27
- CurrentMessagesInQueue: الرسائل الحالية في الرتل <span class='title'>%{queue}</span>
3
+ Actions: إجراءات
28
4
  AddToQueue: إضافة إلى الرتل
5
+ AreYouSure: هل انت متأكد؟
29
6
  AreYouSureDeleteJob: هل أنت متأكد من حذف الوظيفة؟
30
7
  AreYouSureDeleteQueue: هل أنت متأكد من حذف الرتل %{queue}؟
8
+ Arguments: مدخلات
9
+ BackToApp: العودة إلى التطبيق
10
+ Busy: مشغول
11
+ Class: نوع
12
+ Connections: اتصالات
13
+ CreatedAt: أنشئت في
14
+ CurrentMessagesInQueue: الرسائل الحالية في الرتل <span class='title'>%{queue}</span>
15
+ Dashboard: لوحة التحكم
16
+ Dead: ميتة
17
+ DeadJobs: وظائف ميتة
31
18
  Delete: حذف
32
- Queues: أرتال
33
- Size: حجم
34
- Actions: إجراءات
35
- NextRetry: إعادة المحاولة القادمة
36
- RetryCount: عدد مرات إعادة المحاولة
37
- RetryNow: إعادة المحاولة الآن
38
- Kill: إبطال
39
- LastRetry: إعادة المحاولة الأخيرة
40
- OriginallyFailed: فشل أصلا
41
- AreYouSure: هل انت متأكد؟
42
19
  DeleteAll: حذف الكل
43
- RetryAll: إعادة المحاولة للكل
44
- KillAll: إبطال الكل
45
- NoRetriesFound: لاتوجد أي إعادة محاولة
20
+ Enqueued: في الرتل
46
21
  Error: خطأ
22
+ ErrorBacktrace: تتبع الخطأ
47
23
  ErrorClass: نوع الخطأ
48
24
  ErrorMessage: رسالة الخطأ
49
- ErrorBacktrace: تتبع الخطأ
25
+ Extras: إضافات
26
+ Failed: فشل
27
+ Failures: فشل
50
28
  GoBack: إلى الخلف
51
- NoScheduledFound: لايوجد وظائف مجدولة
52
- When: متى
53
- ScheduledJobs: وظائف مجدولة
54
- idle: خامل
55
- active: نشيط
56
- Version: إصدار
57
- Connections: اتصالات
29
+ History: تاريخ
30
+ Job: وظيفة
31
+ Jobs: وظائف
32
+ Kill: إبطال
33
+ KillAll: إبطال الكل
34
+ LastRetry: إعادة المحاولة الأخيرة
35
+ Latency: زمن الانتظار
36
+ LivePoll: استعلام مباشر
58
37
  MemoryUsage: استخدام الذاكرة
59
- PeakMemoryUsage: ذروة استخدام الذاكرة
60
- Uptime: زمن العمل
61
- OneWeek: أسبوع
62
- OneMonth: شهر
63
- ThreeMonths: ثلاثة أشهر
64
- SixMonths: ستة أشهر
65
- Failures: فشل
66
- DeadJobs: وظائف ميتة
38
+ Name: الاسم
39
+ Namespace: مساحة الاسم
40
+ NextRetry: إعادة المحاولة القادمة
67
41
  NoDeadJobsFound: لاتوجد وظائف ميتة
68
- Dead: ميتة
42
+ NoRetriesFound: لاتوجد أي إعادة محاولة
43
+ NoScheduledFound: لايوجد وظائف مجدولة
44
+ NotYetEnqueued: لم تدخل الرتل بعد
45
+ OneMonth: شهر
46
+ OneWeek: أسبوع
47
+ OriginallyFailed: فشل أصلا
48
+ Pause: إيقاف مؤقت
49
+ Paused: موقفة مؤقتاً
50
+ PeakMemoryUsage: ذروة استخدام الذاكرة
51
+ Plugins: الإضافات
52
+ PollingInterval: الفاصل الزمني بين الاستعلامات
69
53
  Process: عملية
54
+ Processed: تمت المعالجة
70
55
  Processes: عمليات
71
- Name: الاسم
72
- Thread: نيسب
73
- Threads: نياسب
74
- Jobs: وظائف
75
- Paused: موقفة مؤقتاً
76
- Stop: إيقاف
56
+ Queue: رتل
57
+ Queues: أرتال
77
58
  Quiet: هدوء
78
- StopAll: إيقاف الكل
79
59
  QuietAll: هدوء الكل
80
- PollingInterval: الفاصل الزمني بين الاستعلامات
81
- Plugins: الإضافات
82
- NotYetEnqueued: لم تدخل الرتل بعد
83
- CreatedAt: أنشئت في
84
- BackToApp: العودة إلى التطبيق
85
- Latency: زمن الانتظار
86
- Pause: إيقاف مؤقت
87
- Unpause: متابعة
60
+ Realtime: الزمن الفعلي
61
+ Retries: إعادة محاولة
62
+ RetryAll: إعادة المحاولة للكل
63
+ RetryCount: عدد مرات إعادة المحاولة
64
+ RetryNow: إعادة المحاولة الآن
65
+ Scheduled: مجدول
66
+ ScheduledJobs: وظائف مجدولة
67
+ ShowAll: عرض الكل
68
+ SixMonths: ستة أشهر
69
+ Size: حجم
70
+ Started: بدأت
71
+ Status: حالة
72
+ Stop: إيقاف
73
+ StopAll: إيقاف الكل
74
+ StopPolling: إيقاف الاستعلامات
75
+ TextDirection: 'rtl'
76
+ Thread: نيسب
77
+ Threads: نياسب
78
+ ThreeMonths: ثلاثة أشهر
79
+ Time: وقت
80
+ Unpause: متابعة
81
+ Uptime: زمن العمل
82
+ Utilization: الاستخدام
83
+ Version: إصدار
84
+ When: متى
85
+ Worker: عامل
86
+ active: نشيط
87
+ idle: خامل
data/web/locales/cs.yml CHANGED
@@ -1,78 +1,78 @@
1
1
  # elements like %{queue} are variables and should not be translated
2
2
  cs:
3
- Dashboard: Kontrolní panel
4
- Status: Stav
5
- Time: Čas
6
- Namespace: Jmenný prostor
7
- Realtime: V reálném čase
8
- History: Historie
3
+ Actions: Akce
4
+ AddToQueue: Přidat do fronty
5
+ AreYouSure: Jste si jisti?
6
+ AreYouSureDeleteJob: Jste si jisti, že chcete odstranit tento úkol?
7
+ AreYouSureDeleteQueue: Jste si jisti, že chcete odstranit frontu %{queue}?
8
+ Arguments: Argumenty
9
9
  Busy: Zaneprázdněné
10
- Processed: Zpracované
11
- Failed: Nezdařené
12
- Scheduled: Naplánované
13
- Retries: Opakování
14
- Enqueued: Zařazené
15
- Worker: Worker
16
- LivePoll: Průběžně aktualizovat
17
- StopPolling: Zastavit průběžnou aktualizaci
18
- Queue: Fronta
19
10
  Class: Třída
20
- Job: Úkol
21
- Arguments: Argumenty
22
- Extras: Doplňky
23
- Started: Začal
24
- ShowAll: Ukázat všechny
11
+ Connections: Připojení
12
+ CreatedAt: Vytvořeno
25
13
  CurrentMessagesInQueue: Aktuální úkoly ve frontě <span class='title'>%{queue}</span>
14
+ Dashboard: Kontrolní panel
15
+ Dead: Mrtvé
16
+ DeadJobs: Mrtvé úkoly
26
17
  Delete: Odstranit
27
- AddToQueue: Přidat do fronty
28
- AreYouSureDeleteJob: Jste si jisti, že chcete odstranit tento úkol?
29
- AreYouSureDeleteQueue: Jste si jisti, že chcete odstranit frontu %{queue}?
30
- Queues: Fronty
31
- Size: Velikost
32
- Actions: Akce
33
- NextRetry: Další opakování
34
- RetryCount: Počet opakování
35
- RetryNow: Opakovat teď
36
- Kill: Zabít
37
- LastRetry: Poslední opakování
38
- OriginallyFailed: Původně se nezdařilo
39
- AreYouSure: Jste si jisti?
40
18
  DeleteAll: Odstranit vše
41
- RetryAll: Opakovat vše
42
- NoRetriesFound: Nebyla nalezena žádná opakování
19
+ Enqueued: Zařazené
43
20
  Error: Chyba
21
+ ErrorBacktrace: Chybový výstup
44
22
  ErrorClass: Třída chyby
45
23
  ErrorMessage: Chybová zpráva
46
- ErrorBacktrace: Chybový výstup
24
+ Extras: Doplňky
25
+ Failed: Nezdařené
26
+ Failures: Selhání
47
27
  GoBack: ← Zpět
48
- NoScheduledFound: Nebyly nalezeny žádné naplánované úkoly
49
- When: Kdy
50
- ScheduledJobs: Naplánované úkoly
51
- idle: nečinný
52
- active: aktivní
53
- Version: Verze
54
- Connections: Připojení
28
+ History: Historie
29
+ Job: Úkol
30
+ Jobs: Úkoly
31
+ Kill: Zabít
32
+ LastRetry: Poslední opakování
33
+ LivePoll: Průběžně aktualizovat
55
34
  MemoryUsage: Využití paměti
56
- PeakMemoryUsage: Nejvyšší využití paměti
57
- Uptime: Uptime (dny)
58
- OneWeek: 1 týden
59
- OneMonth: 1 měsíc
60
- ThreeMonths: 3 měsíce
61
- SixMonths: 6 měsíců
62
- Failures: Selhání
63
- DeadJobs: Mrtvé úkoly
35
+ Namespace: Jmenný prostor
36
+ NextRetry: Další opakování
64
37
  NoDeadJobsFound: Nebyly nalezeny žádné mrtvé úkoly
65
- Dead: Mrtvé
66
- Processes: Procesy
67
- Thread: Vlákno
68
- Threads: Vlákna
69
- Jobs: Úkoly
38
+ NoRetriesFound: Nebyla nalezena žádná opakování
39
+ NoScheduledFound: Nebyly nalezeny žádné naplánované úkoly
40
+ NotYetEnqueued: Ještě nezařazeno
41
+ OneMonth: 1 měsíc
42
+ OneWeek: 1 týden
43
+ OriginallyFailed: Původně se nezdařilo
70
44
  Paused: Pozastavené
71
- Stop: Zastavit
45
+ PeakMemoryUsage: Nejvyšší využití paměti
46
+ Plugins: Doplňky
47
+ PollingInterval: Interval obnovení
48
+ Processed: Zpracované
49
+ Processes: Procesy
50
+ Queue: Fronta
51
+ Queues: Fronty
72
52
  Quiet: Ztišit
73
- StopAll: Zastavit vše
74
53
  QuietAll: Ztišit vše
75
- PollingInterval: Interval obnovení
76
- Plugins: Doplňky
77
- NotYetEnqueued: Ještě nezařazeno
78
- CreatedAt: Vytvořeno
54
+ Realtime: V reálném čase
55
+ Retries: Opakování
56
+ RetryAll: Opakovat vše
57
+ RetryCount: Počet opakování
58
+ RetryNow: Opakovat teď
59
+ Scheduled: Naplánované
60
+ ScheduledJobs: Naplánované úkoly
61
+ ShowAll: Ukázat všechny
62
+ SixMonths: 6 měsíců
63
+ Size: Velikost
64
+ Started: Začal
65
+ Status: Stav
66
+ Stop: Zastavit
67
+ StopAll: Zastavit vše
68
+ StopPolling: Zastavit průběžnou aktualizaci
69
+ Thread: Vlákno
70
+ Threads: Vlákna
71
+ ThreeMonths: 3 měsíce
72
+ Time: Čas
73
+ Uptime: Uptime (dny)
74
+ Version: Verze
75
+ When: Kdy
76
+ Worker: Worker
77
+ active: aktivní
78
+ idle: nečinný