sidekiq 6.5.12 → 7.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +303 -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/active_job/queue_adapters/sidekiq_adapter.rb +88 -0
  9. data/lib/generators/sidekiq/job_generator.rb +2 -0
  10. data/lib/sidekiq/api.rb +196 -138
  11. data/lib/sidekiq/capsule.rb +132 -0
  12. data/lib/sidekiq/cli.rb +60 -75
  13. data/lib/sidekiq/client.rb +87 -38
  14. data/lib/sidekiq/component.rb +4 -1
  15. data/lib/sidekiq/config.rb +305 -0
  16. data/lib/sidekiq/deploy.rb +64 -0
  17. data/lib/sidekiq/embedded.rb +63 -0
  18. data/lib/sidekiq/fetch.rb +11 -14
  19. data/lib/sidekiq/iterable_job.rb +55 -0
  20. data/lib/sidekiq/job/interrupt_handler.rb +24 -0
  21. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  22. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  23. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  24. data/lib/sidekiq/job/iterable.rb +294 -0
  25. data/lib/sidekiq/job.rb +382 -10
  26. data/lib/sidekiq/job_logger.rb +23 -12
  27. data/lib/sidekiq/job_retry.rb +42 -19
  28. data/lib/sidekiq/job_util.rb +53 -15
  29. data/lib/sidekiq/launcher.rb +71 -65
  30. data/lib/sidekiq/logger.rb +2 -27
  31. data/lib/sidekiq/manager.rb +9 -11
  32. data/lib/sidekiq/metrics/query.rb +9 -4
  33. data/lib/sidekiq/metrics/shared.rb +21 -9
  34. data/lib/sidekiq/metrics/tracking.rb +40 -26
  35. data/lib/sidekiq/middleware/chain.rb +19 -18
  36. data/lib/sidekiq/middleware/current_attributes.rb +70 -20
  37. data/lib/sidekiq/middleware/modules.rb +2 -0
  38. data/lib/sidekiq/monitor.rb +18 -4
  39. data/lib/sidekiq/paginator.rb +2 -2
  40. data/lib/sidekiq/processor.rb +62 -57
  41. data/lib/sidekiq/rails.rb +21 -10
  42. data/lib/sidekiq/redis_client_adapter.rb +31 -71
  43. data/lib/sidekiq/redis_connection.rb +44 -115
  44. data/lib/sidekiq/ring_buffer.rb +2 -0
  45. data/lib/sidekiq/scheduled.rb +22 -23
  46. data/lib/sidekiq/systemd.rb +2 -0
  47. data/lib/sidekiq/testing.rb +37 -46
  48. data/lib/sidekiq/transaction_aware_client.rb +11 -5
  49. data/lib/sidekiq/version.rb +6 -1
  50. data/lib/sidekiq/web/action.rb +15 -5
  51. data/lib/sidekiq/web/application.rb +89 -17
  52. data/lib/sidekiq/web/csrf_protection.rb +10 -7
  53. data/lib/sidekiq/web/helpers.rb +102 -42
  54. data/lib/sidekiq/web/router.rb +5 -2
  55. data/lib/sidekiq/web.rb +65 -17
  56. data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
  57. data/lib/sidekiq.rb +78 -274
  58. data/sidekiq.gemspec +12 -10
  59. data/web/assets/javascripts/application.js +44 -0
  60. data/web/assets/javascripts/base-charts.js +106 -0
  61. data/web/assets/javascripts/dashboard-charts.js +192 -0
  62. data/web/assets/javascripts/dashboard.js +11 -233
  63. data/web/assets/javascripts/metrics.js +151 -115
  64. data/web/assets/stylesheets/application-dark.css +4 -0
  65. data/web/assets/stylesheets/application-rtl.css +10 -89
  66. data/web/assets/stylesheets/application.css +53 -298
  67. data/web/locales/ar.yml +70 -70
  68. data/web/locales/cs.yml +62 -62
  69. data/web/locales/da.yml +60 -53
  70. data/web/locales/de.yml +65 -65
  71. data/web/locales/el.yml +2 -7
  72. data/web/locales/en.yml +78 -71
  73. data/web/locales/es.yml +68 -68
  74. data/web/locales/fa.yml +65 -65
  75. data/web/locales/fr.yml +80 -67
  76. data/web/locales/gd.yml +98 -0
  77. data/web/locales/he.yml +65 -64
  78. data/web/locales/hi.yml +59 -59
  79. data/web/locales/it.yml +53 -53
  80. data/web/locales/ja.yml +67 -70
  81. data/web/locales/ko.yml +52 -52
  82. data/web/locales/lt.yml +66 -66
  83. data/web/locales/nb.yml +61 -61
  84. data/web/locales/nl.yml +52 -52
  85. data/web/locales/pl.yml +45 -45
  86. data/web/locales/pt-br.yml +78 -69
  87. data/web/locales/pt.yml +51 -51
  88. data/web/locales/ru.yml +67 -66
  89. data/web/locales/sv.yml +53 -53
  90. data/web/locales/ta.yml +60 -60
  91. data/web/locales/tr.yml +100 -0
  92. data/web/locales/uk.yml +85 -61
  93. data/web/locales/ur.yml +64 -64
  94. data/web/locales/vi.yml +67 -67
  95. data/web/locales/zh-cn.yml +20 -19
  96. data/web/locales/zh-tw.yml +10 -2
  97. data/web/views/_footer.erb +17 -2
  98. data/web/views/_job_info.erb +18 -2
  99. data/web/views/_metrics_period_select.erb +12 -0
  100. data/web/views/_paging.erb +2 -0
  101. data/web/views/_poll_link.erb +1 -1
  102. data/web/views/_summary.erb +7 -7
  103. data/web/views/busy.erb +46 -35
  104. data/web/views/dashboard.erb +28 -7
  105. data/web/views/filtering.erb +7 -0
  106. data/web/views/layout.erb +6 -6
  107. data/web/views/metrics.erb +48 -26
  108. data/web/views/metrics_for_job.erb +43 -71
  109. data/web/views/morgue.erb +5 -9
  110. data/web/views/queue.erb +10 -14
  111. data/web/views/queues.erb +9 -3
  112. data/web/views/retries.erb +5 -9
  113. data/web/views/scheduled.erb +12 -13
  114. metadata +53 -39
  115. data/lib/sidekiq/delay.rb +0 -43
  116. data/lib/sidekiq/extensions/action_mailer.rb +0 -48
  117. data/lib/sidekiq/extensions/active_record.rb +0 -43
  118. data/lib/sidekiq/extensions/class_methods.rb +0 -43
  119. data/lib/sidekiq/extensions/generic_proxy.rb +0 -33
  120. data/lib/sidekiq/metrics/deploy.rb +0 -47
  121. data/lib/sidekiq/worker.rb +0 -370
  122. data/web/assets/javascripts/graph.js +0 -16
  123. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -72,8 +72,18 @@ h1, h2, h3 {
72
72
  line-height: 45px;
73
73
  }
74
74
 
75
- .header-with-subheader h2 {
76
- margin-top: -18px;
75
+ .progress {
76
+ margin-bottom: 0;
77
+ }
78
+
79
+ .w-50 {
80
+ width: 50%;
81
+ }
82
+
83
+ .header-container, .header-container .page-title-container {
84
+ display: flex;
85
+ justify-content: space-between;
86
+ align-items: center;
77
87
  }
78
88
 
79
89
  .centered {
@@ -368,6 +378,15 @@ img.smallogo {
368
378
  .stat p {
369
379
  font-size: 0.9em;
370
380
  }
381
+
382
+ .num {
383
+ font-family: monospace;
384
+ }
385
+
386
+ td.num {
387
+ text-align: right;
388
+ }
389
+
371
390
  @media (max-width: 767px) {
372
391
  .stats-container {
373
392
  display: block;
@@ -415,51 +434,27 @@ div.interval-slider input {
415
434
  background: currentcolor;
416
435
  }
417
436
 
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;
437
+ #realtime-legend {
438
+ margin-top: -20px;
439
+ padding-left: 30px;
440
+ display: flex;
441
+ justify-content: end;
442
+ align-items: center;
430
443
  }
431
- #realtime-legend .line,
432
- #history-legend .line {
433
- display: inline-block;
434
- margin: 0 0 0 20px;
444
+ #realtime-legend > * {
445
+ min-width: 14rem;
435
446
  }
436
- #realtime-legend .swatch,
437
- #history-legend .swatch {
447
+ #realtime-legend .swatch {
438
448
  display: inline-block;
439
449
  width: 10px;
440
450
  height: 10px;
441
- margin: 0 8px 0 0;
442
- }
443
- #realtime-legend .tag,
444
- #history-legend .tag {
445
- display: inline-block;
451
+ margin: 0 5px;
446
452
  }
447
-
448
- @media (max-width: 790px) {
449
- #realtime-legend,
450
- #history-legend {
451
- float: none;
452
- width: 100%;
453
- margin-bottom: 20px;
454
- }
453
+ #realtime-legend .time {
454
+ min-width: auto;
455
+ text-align: right;
455
456
  }
456
457
 
457
- @media (max-width: 500px) {
458
- #realtime-legend,
459
- #history-legend {
460
- text-align: center;
461
- }
462
- }
463
458
  /* Beacon
464
459
  ********************************** */
465
460
 
@@ -619,247 +614,6 @@ div.interval-slider input {
619
614
  }
620
615
  }
621
616
 
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
617
  .code-wrap {
864
618
  white-space: normal;
865
619
  }
@@ -887,37 +641,25 @@ div.interval-slider input {
887
641
  }
888
642
  }
889
643
 
890
- .redis-url, .redis-namespace {
644
+ .redis-url {
891
645
  overflow: hidden;
892
646
  white-space: nowrap;
893
647
  }
894
648
 
895
649
  @media (min-width: 768px) {
896
650
  .redis-url {
897
- max-width: 200px;
898
- }
899
-
900
- .redis-namespace {
901
- max-width: 150px;
651
+ max-width: 160px;
902
652
  }
903
653
  }
904
654
 
905
655
  @media (min-width: 992px) {
906
656
  .redis-url {
907
- max-width: 390px;
908
- }
909
-
910
- .redis-namespace {
911
- max-width: 300px;
657
+ max-width: 380px;
912
658
  }
913
659
  }
914
660
  @media (min-width: 1200px) {
915
661
  .redis-url {
916
- max-width: 480px;
917
- }
918
-
919
- .redis-namespace {
920
- max-width: 350px;
662
+ max-width: 580px;
921
663
  }
922
664
  }
923
665
 
@@ -951,8 +693,8 @@ div.interval-slider input {
951
693
  }
952
694
 
953
695
  .info-circle {
954
- color: #ccc;
955
- background-color: #000;
696
+ color: #333;
697
+ background-color: #ccc;
956
698
  border-radius: 50%;
957
699
  text-align: center;
958
700
  vertical-align: middle;
@@ -997,3 +739,16 @@ div.interval-slider input {
997
739
  canvas {
998
740
  margin: 20px 0 30px;
999
741
  }
742
+
743
+ #locale-select {
744
+ float: left;
745
+ margin: 8px 15px;
746
+ }
747
+
748
+ @media (max-width: 767px) {
749
+ #locale-select {
750
+ float: none;
751
+ width: auto;
752
+ margin: 15px auto;
753
+ }
754
+ }
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ý