sidekiq 6.4.0 → 7.0.8
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.
- checksums.yaml +4 -4
- data/Changes.md +187 -12
- data/README.md +44 -31
- data/bin/sidekiq +4 -9
- data/bin/sidekiqload +189 -117
- data/bin/sidekiqmon +4 -1
- data/lib/sidekiq/api.rb +304 -186
- data/lib/sidekiq/capsule.rb +127 -0
- data/lib/sidekiq/cli.rb +83 -80
- data/lib/sidekiq/client.rb +71 -44
- data/lib/sidekiq/component.rb +68 -0
- data/lib/sidekiq/config.rb +270 -0
- data/lib/sidekiq/deploy.rb +62 -0
- data/lib/sidekiq/embedded.rb +61 -0
- data/lib/sidekiq/fetch.rb +23 -24
- data/lib/sidekiq/job.rb +375 -10
- data/lib/sidekiq/job_logger.rb +16 -28
- data/lib/sidekiq/job_retry.rb +76 -54
- data/lib/sidekiq/job_util.rb +59 -19
- data/lib/sidekiq/launcher.rb +103 -95
- data/lib/sidekiq/logger.rb +9 -44
- data/lib/sidekiq/manager.rb +33 -32
- data/lib/sidekiq/metrics/query.rb +153 -0
- data/lib/sidekiq/metrics/shared.rb +95 -0
- data/lib/sidekiq/metrics/tracking.rb +136 -0
- data/lib/sidekiq/middleware/chain.rb +96 -51
- data/lib/sidekiq/middleware/current_attributes.rb +16 -17
- data/lib/sidekiq/middleware/i18n.rb +6 -4
- data/lib/sidekiq/middleware/modules.rb +21 -0
- data/lib/sidekiq/monitor.rb +17 -4
- data/lib/sidekiq/paginator.rb +17 -9
- data/lib/sidekiq/processor.rb +60 -60
- data/lib/sidekiq/rails.rb +12 -10
- data/lib/sidekiq/redis_client_adapter.rb +115 -0
- data/lib/sidekiq/redis_connection.rb +13 -82
- data/lib/sidekiq/ring_buffer.rb +29 -0
- data/lib/sidekiq/scheduled.rb +65 -37
- data/lib/sidekiq/testing/inline.rb +4 -4
- data/lib/sidekiq/testing.rb +41 -68
- data/lib/sidekiq/transaction_aware_client.rb +44 -0
- data/lib/sidekiq/version.rb +2 -1
- data/lib/sidekiq/web/action.rb +3 -3
- data/lib/sidekiq/web/application.rb +40 -9
- data/lib/sidekiq/web/csrf_protection.rb +3 -3
- data/lib/sidekiq/web/helpers.rb +35 -21
- data/lib/sidekiq/web.rb +10 -17
- data/lib/sidekiq/worker_compatibility_alias.rb +13 -0
- data/lib/sidekiq.rb +84 -206
- data/sidekiq.gemspec +21 -10
- data/web/assets/javascripts/application.js +76 -26
- data/web/assets/javascripts/base-charts.js +106 -0
- data/web/assets/javascripts/chart.min.js +13 -0
- data/web/assets/javascripts/chartjs-plugin-annotation.min.js +7 -0
- data/web/assets/javascripts/dashboard-charts.js +166 -0
- data/web/assets/javascripts/dashboard.js +3 -240
- data/web/assets/javascripts/metrics.js +264 -0
- data/web/assets/stylesheets/application-dark.css +4 -0
- data/web/assets/stylesheets/application-rtl.css +2 -91
- data/web/assets/stylesheets/application.css +66 -297
- data/web/locales/ar.yml +70 -70
- data/web/locales/cs.yml +62 -62
- data/web/locales/da.yml +60 -53
- data/web/locales/de.yml +65 -65
- data/web/locales/el.yml +43 -24
- data/web/locales/en.yml +82 -69
- data/web/locales/es.yml +68 -68
- data/web/locales/fa.yml +65 -65
- data/web/locales/fr.yml +67 -67
- data/web/locales/he.yml +65 -64
- data/web/locales/hi.yml +59 -59
- data/web/locales/it.yml +53 -53
- data/web/locales/ja.yml +73 -68
- data/web/locales/ko.yml +52 -52
- data/web/locales/lt.yml +66 -66
- data/web/locales/nb.yml +61 -61
- data/web/locales/nl.yml +52 -52
- data/web/locales/pl.yml +45 -45
- data/web/locales/pt-br.yml +63 -55
- data/web/locales/pt.yml +51 -51
- data/web/locales/ru.yml +67 -66
- data/web/locales/sv.yml +53 -53
- data/web/locales/ta.yml +60 -60
- data/web/locales/uk.yml +62 -61
- data/web/locales/ur.yml +64 -64
- data/web/locales/vi.yml +67 -67
- data/web/locales/zh-cn.yml +43 -16
- data/web/locales/zh-tw.yml +42 -8
- data/web/views/_footer.erb +5 -2
- data/web/views/_job_info.erb +18 -2
- data/web/views/_metrics_period_select.erb +12 -0
- data/web/views/_nav.erb +1 -1
- data/web/views/_paging.erb +2 -0
- data/web/views/_poll_link.erb +1 -1
- data/web/views/_summary.erb +1 -1
- data/web/views/busy.erb +42 -26
- data/web/views/dashboard.erb +36 -4
- data/web/views/metrics.erb +82 -0
- data/web/views/metrics_for_job.erb +71 -0
- data/web/views/morgue.erb +5 -9
- data/web/views/queue.erb +15 -15
- data/web/views/queues.erb +3 -1
- data/web/views/retries.erb +5 -9
- data/web/views/scheduled.erb +12 -13
- metadata +64 -28
- data/lib/sidekiq/delay.rb +0 -43
- data/lib/sidekiq/exception_handler.rb +0 -27
- data/lib/sidekiq/extensions/action_mailer.rb +0 -48
- data/lib/sidekiq/extensions/active_record.rb +0 -43
- data/lib/sidekiq/extensions/class_methods.rb +0 -43
- data/lib/sidekiq/extensions/generic_proxy.rb +0 -33
- data/lib/sidekiq/util.rb +0 -108
- data/lib/sidekiq/worker.rb +0 -364
- /data/{LICENSE → LICENSE.txt} +0 -0
@@ -67,10 +67,17 @@ body {
|
|
67
67
|
padding: 0 20px;
|
68
68
|
}
|
69
69
|
|
70
|
-
h3 {
|
70
|
+
h1, h2, h3 {
|
71
|
+
font-size: 24px;
|
71
72
|
line-height: 45px;
|
72
73
|
}
|
73
74
|
|
75
|
+
.header-container, .header-container .page-title-container {
|
76
|
+
display: flex;
|
77
|
+
justify-content: space-between;
|
78
|
+
align-items: center;
|
79
|
+
}
|
80
|
+
|
74
81
|
.centered {
|
75
82
|
text-align: center;
|
76
83
|
}
|
@@ -202,6 +209,7 @@ table .table-checkbox label {
|
|
202
209
|
|
203
210
|
.navbar .navbar-brand .status {
|
204
211
|
color: #585454;
|
212
|
+
display: inline;
|
205
213
|
}
|
206
214
|
|
207
215
|
|
@@ -409,51 +417,27 @@ div.interval-slider input {
|
|
409
417
|
background: currentcolor;
|
410
418
|
}
|
411
419
|
|
412
|
-
#realtime-legend
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
}
|
419
|
-
#realtime-legend .timestamp,
|
420
|
-
#history-legend .timestamp {
|
421
|
-
display: inline-block;
|
422
|
-
width: 220px;
|
423
|
-
text-align: right;
|
420
|
+
#realtime-legend {
|
421
|
+
margin-top: -20px;
|
422
|
+
padding-left: 30px;
|
423
|
+
display: flex;
|
424
|
+
justify-content: end;
|
425
|
+
align-items: center;
|
424
426
|
}
|
425
|
-
#realtime-legend
|
426
|
-
|
427
|
-
display: inline-block;
|
428
|
-
margin: 0 0 0 20px;
|
427
|
+
#realtime-legend > * {
|
428
|
+
min-width: 14rem;
|
429
429
|
}
|
430
|
-
#realtime-legend .swatch
|
431
|
-
#history-legend .swatch {
|
430
|
+
#realtime-legend .swatch {
|
432
431
|
display: inline-block;
|
433
432
|
width: 10px;
|
434
433
|
height: 10px;
|
435
|
-
margin: 0
|
434
|
+
margin: 0 5px;
|
436
435
|
}
|
437
|
-
#realtime-legend .
|
438
|
-
|
439
|
-
|
440
|
-
}
|
441
|
-
|
442
|
-
@media (max-width: 790px) {
|
443
|
-
#realtime-legend,
|
444
|
-
#history-legend {
|
445
|
-
float: none;
|
446
|
-
width: 100%;
|
447
|
-
margin-bottom: 20px;
|
448
|
-
}
|
436
|
+
#realtime-legend .time {
|
437
|
+
min-width: auto;
|
438
|
+
text-align: right;
|
449
439
|
}
|
450
440
|
|
451
|
-
@media (max-width: 500px) {
|
452
|
-
#realtime-legend,
|
453
|
-
#history-legend {
|
454
|
-
text-align: center;
|
455
|
-
}
|
456
|
-
}
|
457
441
|
/* Beacon
|
458
442
|
********************************** */
|
459
443
|
|
@@ -613,247 +597,6 @@ div.interval-slider input {
|
|
613
597
|
}
|
614
598
|
}
|
615
599
|
|
616
|
-
.rickshaw_graph .detail {
|
617
|
-
pointer-events: none;
|
618
|
-
position: absolute;
|
619
|
-
top: 0;
|
620
|
-
z-index: 2;
|
621
|
-
background: rgba(0, 0, 0, .9);
|
622
|
-
bottom: 0;
|
623
|
-
width: 1px;
|
624
|
-
transition: opacity .25s linear;
|
625
|
-
}
|
626
|
-
.rickshaw_graph .detail.inactive {
|
627
|
-
opacity: 0
|
628
|
-
}
|
629
|
-
.rickshaw_graph .detail .item.active {
|
630
|
-
opacity: 1
|
631
|
-
}
|
632
|
-
.rickshaw_graph .detail .x_label {
|
633
|
-
font-family: Arial, sans-serif;
|
634
|
-
border-radius: 3px;
|
635
|
-
padding: 6px;
|
636
|
-
opacity: .7;
|
637
|
-
border: 1px solid #e0e0e0;
|
638
|
-
font-size: 12px;
|
639
|
-
position: absolute;
|
640
|
-
background: #fff;
|
641
|
-
white-space: nowrap
|
642
|
-
}
|
643
|
-
.rickshaw_graph .detail .x_label.left {
|
644
|
-
left: 0
|
645
|
-
}
|
646
|
-
.rickshaw_graph .detail .x_label.right {
|
647
|
-
right: 0
|
648
|
-
}
|
649
|
-
.rickshaw_graph .detail .item {
|
650
|
-
position: absolute;
|
651
|
-
z-index: 2;
|
652
|
-
border-radius: 3px;
|
653
|
-
padding: .25em;
|
654
|
-
font-size: 12px;
|
655
|
-
font-family: Arial, sans-serif;
|
656
|
-
opacity: 0;
|
657
|
-
background: rgba(0, 0, 0, .4);
|
658
|
-
color: #fff;
|
659
|
-
border: 1px solid rgba(0, 0, 0, .4);
|
660
|
-
margin-left: 1em;
|
661
|
-
margin-right: 1em;
|
662
|
-
margin-top: -1em;
|
663
|
-
white-space: nowrap
|
664
|
-
}
|
665
|
-
.rickshaw_graph .detail .item.left {
|
666
|
-
left: 0
|
667
|
-
}
|
668
|
-
.rickshaw_graph .detail .item.right {
|
669
|
-
right: 0
|
670
|
-
}
|
671
|
-
.rickshaw_graph .detail .item.active {
|
672
|
-
opacity: 1;
|
673
|
-
background: rgba(0, 0, 0, .8)
|
674
|
-
}
|
675
|
-
.rickshaw_graph .detail .item:after {
|
676
|
-
position: absolute;
|
677
|
-
display: block;
|
678
|
-
width: 0;
|
679
|
-
height: 0;
|
680
|
-
content: "";
|
681
|
-
border: 5px solid transparent
|
682
|
-
}
|
683
|
-
.rickshaw_graph .detail .item.left:after {
|
684
|
-
top: 1em;
|
685
|
-
left: -5px;
|
686
|
-
margin-top: -5px;
|
687
|
-
border-right-color: rgba(0, 0, 0, .8);
|
688
|
-
border-left-width: 0
|
689
|
-
}
|
690
|
-
.rickshaw_graph .detail .item.right:after {
|
691
|
-
top: 1em;
|
692
|
-
right: -5px;
|
693
|
-
margin-top: -5px;
|
694
|
-
border-left-color: rgba(0, 0, 0, .8);
|
695
|
-
border-right-width: 0
|
696
|
-
}
|
697
|
-
.rickshaw_graph .detail .dot {
|
698
|
-
width: 4px;
|
699
|
-
height: 4px;
|
700
|
-
margin-left: -3px;
|
701
|
-
margin-top: -3.5px;
|
702
|
-
border-radius: 5px;
|
703
|
-
position: absolute;
|
704
|
-
box-shadow: 0 0 2px rgba(0, 0, 0, .6);
|
705
|
-
box-sizing: content-box;
|
706
|
-
background: #fff;
|
707
|
-
border-width: 2px;
|
708
|
-
border-style: solid;
|
709
|
-
display: none;
|
710
|
-
background-clip: padding-box
|
711
|
-
}
|
712
|
-
.rickshaw_graph .detail .dot.active {
|
713
|
-
display: block
|
714
|
-
}
|
715
|
-
.rickshaw_graph {
|
716
|
-
position: relative
|
717
|
-
}
|
718
|
-
.rickshaw_graph svg {
|
719
|
-
display: block;
|
720
|
-
overflow: hidden
|
721
|
-
}
|
722
|
-
.rickshaw_graph .x_tick {
|
723
|
-
position: absolute;
|
724
|
-
top: 0;
|
725
|
-
bottom: 0;
|
726
|
-
width: 0;
|
727
|
-
border-left: 1px dotted rgba(0, 0, 0, .5);
|
728
|
-
pointer-events: none
|
729
|
-
}
|
730
|
-
.rickshaw_graph .x_tick .title {
|
731
|
-
position: absolute;
|
732
|
-
font-family: Arial, sans-serif;
|
733
|
-
white-space: nowrap;
|
734
|
-
margin-left: 3px;
|
735
|
-
bottom: 1px
|
736
|
-
}
|
737
|
-
.rickshaw_graph .y_axis,
|
738
|
-
.rickshaw_graph .x_axis_d3 {
|
739
|
-
fill: none
|
740
|
-
}
|
741
|
-
.rickshaw_graph .y_ticks .tick line,
|
742
|
-
.rickshaw_graph .x_ticks_d3 .tick {
|
743
|
-
stroke: rgba(0, 0, 0, .16);
|
744
|
-
stroke-width: 2px;
|
745
|
-
shape-rendering: crisp-edges;
|
746
|
-
pointer-events: none
|
747
|
-
}
|
748
|
-
.rickshaw_graph .y_grid .tick,
|
749
|
-
.rickshaw_graph .x_grid_d3 .tick {
|
750
|
-
z-index: -1;
|
751
|
-
stroke: rgba(0, 0, 0, .2);
|
752
|
-
stroke-width: 1px;
|
753
|
-
stroke-dasharray: 1 1
|
754
|
-
}
|
755
|
-
.rickshaw_graph .y_grid .tick[data-y-value="0"] {
|
756
|
-
stroke-dasharray: 1 0
|
757
|
-
}
|
758
|
-
.rickshaw_graph .y_grid path,
|
759
|
-
.rickshaw_graph .x_grid_d3 path {
|
760
|
-
fill: none;
|
761
|
-
stroke: none
|
762
|
-
}
|
763
|
-
.rickshaw_graph .y_ticks path,
|
764
|
-
.rickshaw_graph .x_ticks_d3 path {
|
765
|
-
fill: none;
|
766
|
-
stroke: gray
|
767
|
-
}
|
768
|
-
.rickshaw_graph .y_ticks text,
|
769
|
-
.rickshaw_graph .x_ticks_d3 text {
|
770
|
-
opacity: .7;
|
771
|
-
font-size: 12px;
|
772
|
-
pointer-events: none
|
773
|
-
}
|
774
|
-
.rickshaw_graph .x_tick.glow .title,
|
775
|
-
.rickshaw_graph .y_ticks.glow text {
|
776
|
-
fill: #000;
|
777
|
-
color: #000;
|
778
|
-
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)
|
779
|
-
}
|
780
|
-
.rickshaw_graph .x_tick.inverse .title,
|
781
|
-
.rickshaw_graph .y_ticks.inverse text {
|
782
|
-
fill: #fff;
|
783
|
-
color: #fff;
|
784
|
-
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)
|
785
|
-
}
|
786
|
-
.rickshaw_legend {
|
787
|
-
font-family: Arial;
|
788
|
-
color: #fff;
|
789
|
-
background: #404040;
|
790
|
-
display: inline-block;
|
791
|
-
padding: 12px 5px;
|
792
|
-
border-radius: 2px;
|
793
|
-
position: relative
|
794
|
-
}
|
795
|
-
.rickshaw_legend:hover {
|
796
|
-
z-index: 10
|
797
|
-
}
|
798
|
-
.rickshaw_legend .swatch {
|
799
|
-
width: 10px;
|
800
|
-
height: 10px;
|
801
|
-
border: 1px solid rgba(0, 0, 0, .2)
|
802
|
-
}
|
803
|
-
.rickshaw_legend .line {
|
804
|
-
clear: both;
|
805
|
-
line-height: 140%;
|
806
|
-
padding-right: 15px
|
807
|
-
}
|
808
|
-
.rickshaw_legend .line .swatch {
|
809
|
-
display: inline-block;
|
810
|
-
margin-right: 3px;
|
811
|
-
border-radius: 2px
|
812
|
-
}
|
813
|
-
.rickshaw_legend .label {
|
814
|
-
margin: 0;
|
815
|
-
white-space: nowrap;
|
816
|
-
display: inline;
|
817
|
-
font-size: inherit;
|
818
|
-
background-color: transparent;
|
819
|
-
color: inherit;
|
820
|
-
font-weight: 400;
|
821
|
-
line-height: normal;
|
822
|
-
padding: 0;
|
823
|
-
text-shadow: none
|
824
|
-
}
|
825
|
-
.rickshaw_legend .action:hover {
|
826
|
-
opacity: .6
|
827
|
-
}
|
828
|
-
.rickshaw_legend .action {
|
829
|
-
margin-right: .2em;
|
830
|
-
opacity: .5;
|
831
|
-
cursor: pointer;
|
832
|
-
}
|
833
|
-
.rickshaw_legend .line.disabled {
|
834
|
-
opacity: .4
|
835
|
-
}
|
836
|
-
.rickshaw_legend ul {
|
837
|
-
list-style-type: none;
|
838
|
-
margin: 0;
|
839
|
-
padding: 0;
|
840
|
-
margin: 2px;
|
841
|
-
cursor: pointer
|
842
|
-
}
|
843
|
-
.rickshaw_legend li {
|
844
|
-
padding: 0 0 0 2px;
|
845
|
-
min-width: 80px;
|
846
|
-
white-space: nowrap
|
847
|
-
}
|
848
|
-
.rickshaw_legend li:hover {
|
849
|
-
background: rgba(255, 255, 255, .08);
|
850
|
-
border-radius: 3px
|
851
|
-
}
|
852
|
-
.rickshaw_legend li:active {
|
853
|
-
background: rgba(255, 255, 255, .2);
|
854
|
-
border-radius: 3px
|
855
|
-
}
|
856
|
-
|
857
600
|
.code-wrap {
|
858
601
|
white-space: normal;
|
859
602
|
}
|
@@ -881,37 +624,25 @@ div.interval-slider input {
|
|
881
624
|
}
|
882
625
|
}
|
883
626
|
|
884
|
-
.redis-url
|
627
|
+
.redis-url {
|
885
628
|
overflow: hidden;
|
886
629
|
white-space: nowrap;
|
887
630
|
}
|
888
631
|
|
889
632
|
@media (min-width: 768px) {
|
890
633
|
.redis-url {
|
891
|
-
max-width:
|
892
|
-
}
|
893
|
-
|
894
|
-
.redis-namespace {
|
895
|
-
max-width: 150px;
|
634
|
+
max-width: 250px;
|
896
635
|
}
|
897
636
|
}
|
898
637
|
|
899
638
|
@media (min-width: 992px) {
|
900
639
|
.redis-url {
|
901
|
-
max-width:
|
902
|
-
}
|
903
|
-
|
904
|
-
.redis-namespace {
|
905
|
-
max-width: 300px;
|
640
|
+
max-width: 490px;
|
906
641
|
}
|
907
642
|
}
|
908
643
|
@media (min-width: 1200px) {
|
909
644
|
.redis-url {
|
910
|
-
max-width:
|
911
|
-
}
|
912
|
-
|
913
|
-
.redis-namespace {
|
914
|
-
max-width: 350px;
|
645
|
+
max-width: 600px;
|
915
646
|
}
|
916
647
|
}
|
917
648
|
|
@@ -945,11 +676,49 @@ div.interval-slider input {
|
|
945
676
|
}
|
946
677
|
|
947
678
|
.info-circle {
|
948
|
-
color: #
|
949
|
-
background-color: #
|
679
|
+
color: #333;
|
680
|
+
background-color: #ccc;
|
950
681
|
border-radius: 50%;
|
951
682
|
text-align: center;
|
952
683
|
vertical-align: middle;
|
953
684
|
padding: 3px 7px;
|
954
685
|
margin-left: 5px;
|
955
686
|
}
|
687
|
+
|
688
|
+
.metrics-swatch-wrapper {
|
689
|
+
display: flex;
|
690
|
+
align-items: center;
|
691
|
+
gap: 6px;
|
692
|
+
}
|
693
|
+
|
694
|
+
.metrics-swatch[type=checkbox] {
|
695
|
+
display: inline-block;
|
696
|
+
width: 16px;
|
697
|
+
height: 16px;
|
698
|
+
margin: 0;
|
699
|
+
border-radius: 2px;
|
700
|
+
appearance: none;
|
701
|
+
-webkit-appearance: none;
|
702
|
+
-moz-appearance: none;
|
703
|
+
border: 1px solid #bbb;
|
704
|
+
color: white;
|
705
|
+
background-color: currentColor;
|
706
|
+
}
|
707
|
+
|
708
|
+
/* We need to add the checkmark since we've taken over the appearance */
|
709
|
+
.metrics-swatch[type=checkbox]:checked {
|
710
|
+
border-color: currentColor;
|
711
|
+
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
|
712
|
+
background-size: 100% 100%;
|
713
|
+
background-position: center;
|
714
|
+
background-repeat: no-repeat;
|
715
|
+
}
|
716
|
+
|
717
|
+
.metrics-swatch[type=checkbox]:focus {
|
718
|
+
outline: 1px solid #888;
|
719
|
+
outline-offset: 2px;
|
720
|
+
}
|
721
|
+
|
722
|
+
canvas {
|
723
|
+
margin: 20px 0 30px;
|
724
|
+
}
|
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
|
-
|
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
|
-
|
44
|
-
KillAll: إبطال الكل
|
45
|
-
NoRetriesFound: لاتوجد أي إعادة محاولة
|
20
|
+
Enqueued: في الرتل
|
46
21
|
Error: خطأ
|
22
|
+
ErrorBacktrace: تتبع الخطأ
|
47
23
|
ErrorClass: نوع الخطأ
|
48
24
|
ErrorMessage: رسالة الخطأ
|
49
|
-
|
25
|
+
Extras: إضافات
|
26
|
+
Failed: فشل
|
27
|
+
Failures: فشل
|
50
28
|
GoBack: إلى الخلف
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
29
|
+
History: تاريخ
|
30
|
+
Job: وظيفة
|
31
|
+
Jobs: وظائف
|
32
|
+
Kill: إبطال
|
33
|
+
KillAll: إبطال الكل
|
34
|
+
LastRetry: إعادة المحاولة الأخيرة
|
35
|
+
Latency: زمن الانتظار
|
36
|
+
LivePoll: استعلام مباشر
|
58
37
|
MemoryUsage: استخدام الذاكرة
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
OneMonth: شهر
|
63
|
-
ThreeMonths: ثلاثة أشهر
|
64
|
-
SixMonths: ستة أشهر
|
65
|
-
Failures: فشل
|
66
|
-
DeadJobs: وظائف ميتة
|
38
|
+
Name: الاسم
|
39
|
+
Namespace: مساحة الاسم
|
40
|
+
NextRetry: إعادة المحاولة القادمة
|
67
41
|
NoDeadJobsFound: لاتوجد وظائف ميتة
|
68
|
-
|
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
|
-
|
72
|
-
|
73
|
-
Threads: نياسب
|
74
|
-
Jobs: وظائف
|
75
|
-
Paused: موقفة مؤقتاً
|
76
|
-
Stop: إيقاف
|
56
|
+
Queue: رتل
|
57
|
+
Queues: أرتال
|
77
58
|
Quiet: هدوء
|
78
|
-
StopAll: إيقاف الكل
|
79
59
|
QuietAll: هدوء الكل
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
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: خامل
|