sidekiq 7.0.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/Changes.md +261 -13
  3. data/README.md +34 -27
  4. data/bin/multi_queue_bench +271 -0
  5. data/bin/sidekiqload +204 -109
  6. data/bin/sidekiqmon +3 -0
  7. data/lib/sidekiq/api.rb +151 -23
  8. data/lib/sidekiq/capsule.rb +20 -0
  9. data/lib/sidekiq/cli.rb +9 -4
  10. data/lib/sidekiq/client.rb +40 -24
  11. data/lib/sidekiq/component.rb +3 -1
  12. data/lib/sidekiq/config.rb +32 -12
  13. data/lib/sidekiq/deploy.rb +5 -5
  14. data/lib/sidekiq/embedded.rb +3 -3
  15. data/lib/sidekiq/fetch.rb +3 -5
  16. data/lib/sidekiq/iterable_job.rb +53 -0
  17. data/lib/sidekiq/job/interrupt_handler.rb +22 -0
  18. data/lib/sidekiq/job/iterable/active_record_enumerator.rb +53 -0
  19. data/lib/sidekiq/job/iterable/csv_enumerator.rb +47 -0
  20. data/lib/sidekiq/job/iterable/enumerators.rb +135 -0
  21. data/lib/sidekiq/job/iterable.rb +231 -0
  22. data/lib/sidekiq/job.rb +17 -10
  23. data/lib/sidekiq/job_logger.rb +24 -11
  24. data/lib/sidekiq/job_retry.rb +34 -11
  25. data/lib/sidekiq/job_util.rb +51 -15
  26. data/lib/sidekiq/launcher.rb +38 -22
  27. data/lib/sidekiq/logger.rb +1 -1
  28. data/lib/sidekiq/metrics/query.rb +6 -3
  29. data/lib/sidekiq/metrics/shared.rb +4 -4
  30. data/lib/sidekiq/metrics/tracking.rb +9 -3
  31. data/lib/sidekiq/middleware/chain.rb +12 -9
  32. data/lib/sidekiq/middleware/current_attributes.rb +70 -17
  33. data/lib/sidekiq/monitor.rb +17 -4
  34. data/lib/sidekiq/paginator.rb +4 -4
  35. data/lib/sidekiq/processor.rb +41 -27
  36. data/lib/sidekiq/rails.rb +18 -8
  37. data/lib/sidekiq/redis_client_adapter.rb +31 -35
  38. data/lib/sidekiq/redis_connection.rb +29 -7
  39. data/lib/sidekiq/scheduled.rb +4 -4
  40. data/lib/sidekiq/testing.rb +27 -8
  41. data/lib/sidekiq/transaction_aware_client.rb +7 -0
  42. data/lib/sidekiq/version.rb +1 -1
  43. data/lib/sidekiq/web/action.rb +10 -4
  44. data/lib/sidekiq/web/application.rb +113 -16
  45. data/lib/sidekiq/web/csrf_protection.rb +9 -6
  46. data/lib/sidekiq/web/helpers.rb +104 -33
  47. data/lib/sidekiq/web.rb +63 -2
  48. data/lib/sidekiq.rb +2 -1
  49. data/sidekiq.gemspec +8 -29
  50. data/web/assets/javascripts/application.js +45 -0
  51. data/web/assets/javascripts/dashboard-charts.js +38 -12
  52. data/web/assets/javascripts/dashboard.js +8 -10
  53. data/web/assets/javascripts/metrics.js +64 -2
  54. data/web/assets/stylesheets/application-dark.css +4 -0
  55. data/web/assets/stylesheets/application-rtl.css +10 -0
  56. data/web/assets/stylesheets/application.css +38 -4
  57. data/web/locales/da.yml +11 -4
  58. data/web/locales/en.yml +2 -0
  59. data/web/locales/fr.yml +14 -0
  60. data/web/locales/gd.yml +99 -0
  61. data/web/locales/ja.yml +3 -1
  62. data/web/locales/pt-br.yml +20 -0
  63. data/web/locales/tr.yml +101 -0
  64. data/web/locales/zh-cn.yml +20 -19
  65. data/web/views/_footer.erb +14 -2
  66. data/web/views/_job_info.erb +18 -2
  67. data/web/views/_metrics_period_select.erb +12 -0
  68. data/web/views/_paging.erb +2 -0
  69. data/web/views/_poll_link.erb +1 -1
  70. data/web/views/_summary.erb +7 -7
  71. data/web/views/busy.erb +46 -35
  72. data/web/views/dashboard.erb +25 -35
  73. data/web/views/filtering.erb +7 -0
  74. data/web/views/layout.erb +6 -6
  75. data/web/views/metrics.erb +42 -31
  76. data/web/views/metrics_for_job.erb +41 -51
  77. data/web/views/morgue.erb +5 -9
  78. data/web/views/queue.erb +10 -14
  79. data/web/views/queues.erb +9 -3
  80. data/web/views/retries.erb +5 -9
  81. data/web/views/scheduled.erb +12 -13
  82. metadata +37 -32
@@ -4,6 +4,14 @@ class JobMetricsOverviewChart extends BaseChart {
4
4
  this.swatches = [];
5
5
  this.visibleKls = options.visibleKls;
6
6
 
7
+ const countBuckets = this.options.labels.length / 60;
8
+ this.labelBuckets = this.options.labels.reduce((acc, label, index) => {
9
+ const bucket = Math.floor(index / countBuckets);
10
+ acc[bucket] = acc[bucket] || [];
11
+ acc[bucket].push(label);
12
+ return acc;
13
+ }, []);
14
+
7
15
  this.init();
8
16
  }
9
17
 
@@ -52,7 +60,7 @@ class JobMetricsOverviewChart extends BaseChart {
52
60
 
53
61
  return {
54
62
  label: kls,
55
- data: this.options.series[kls],
63
+ data: this.buildSeries(kls),
56
64
  borderColor: color,
57
65
  backgroundColor: color,
58
66
  borderWidth: 2,
@@ -60,6 +68,26 @@ class JobMetricsOverviewChart extends BaseChart {
60
68
  };
61
69
  }
62
70
 
71
+ buildSeries(kls) {
72
+ // `series` is an object that maps labels to counts => { "20:15" => 2, "20:16" => 3, ... }
73
+ const series = this.options.series[kls];
74
+ return this.labelBuckets.reduce((acc, labels) => {
75
+ const bucketValues = labels.map(label => series[label]).filter(v => v);
76
+ if (bucketValues.length > 0) {
77
+ // Sum up the values for each bucket that has data.
78
+ // The new label is the bucket's first label, its start time.
79
+ acc[labels[0]] = bucketValues.reduce((a, b) => a + b, 0);
80
+ }
81
+ return acc;
82
+ }, {});
83
+ }
84
+
85
+ buildTooltipTitle(items) {
86
+ const [first, ...rest] = this.labelBuckets.find((labels) => labels[0] === items[0].label);
87
+ const title = [first, rest[rest.length - 1]].filter(v => v).join(" - ");
88
+ return `${title} UTC`
89
+ }
90
+
63
91
  get chartOptions() {
64
92
  return {
65
93
  ...super.chartOptions,
@@ -80,7 +108,7 @@ class JobMetricsOverviewChart extends BaseChart {
80
108
  tooltip: {
81
109
  ...super.chartOptions.plugins.tooltip,
82
110
  callbacks: {
83
- title: (items) => `${items[0].label} UTC`,
111
+ title: (items) => this.buildTooltipTitle(items),
84
112
  label: (item) =>
85
113
  `${item.dataset.label}: ${item.parsed.y.toFixed(1)} ` +
86
114
  `${this.options.units}`,
@@ -234,3 +262,37 @@ class HistBubbleChart extends BaseChart {
234
262
  };
235
263
  }
236
264
  }
265
+
266
+ var ch = document.getElementById("job-metrics-overview-chart");
267
+ if (ch != null) {
268
+ var jm = new JobMetricsOverviewChart(ch, JSON.parse(ch.textContent));
269
+ document.querySelectorAll(".metrics-swatch-wrapper > input[type=checkbox]").forEach((imp) => {
270
+ jm.registerSwatch(imp.id)
271
+ });
272
+ window.jobMetricsChart = jm;
273
+ }
274
+
275
+ var htc = document.getElementById("hist-totals-chart");
276
+ if (htc != null) {
277
+ var tc = new HistTotalsChart(htc, JSON.parse(htc.textContent));
278
+ window.histTotalsChart = tc
279
+ }
280
+
281
+ var hbc = document.getElementById("hist-bubble-chart");
282
+ if (hbc != null) {
283
+ var bc = new HistBubbleChart(hbc, JSON.parse(hbc.textContent));
284
+ window.histBubbleChart = bc
285
+ }
286
+
287
+ var form = document.getElementById("metrics-form")
288
+ document.querySelectorAll("#period-selector").forEach(node => {
289
+ node.addEventListener("input", debounce(() => form.submit()))
290
+ })
291
+
292
+ function debounce(func, timeout = 300) {
293
+ let timer;
294
+ return (...args) => {
295
+ clearTimeout(timer);
296
+ timer = setTimeout(() => { func.apply(this, args); }, timeout);
297
+ };
298
+ }
@@ -72,6 +72,10 @@ table {
72
72
  background-color: #31708f;
73
73
  }
74
74
 
75
+ .alert-warning {
76
+ background-color: #c47612;
77
+ }
78
+
75
79
  a:link, a:active, a:hover, a:visited {
76
80
  color: #ddd;
77
81
  }
@@ -151,3 +151,13 @@ div.interval-slider {
151
151
  padding-left: 5px;
152
152
  }
153
153
  }
154
+
155
+ #locale-select {
156
+ float: right;
157
+ }
158
+
159
+ @media (max-width: 767px) {
160
+ #locale-select {
161
+ float: none;
162
+ }
163
+ }
@@ -72,7 +72,15 @@ h1, h2, h3 {
72
72
  line-height: 45px;
73
73
  }
74
74
 
75
- .header-container {
75
+ .progress {
76
+ margin-bottom: 0;
77
+ }
78
+
79
+ .w-50 {
80
+ width: 50%;
81
+ }
82
+
83
+ .header-container, .header-container .page-title-container {
76
84
  display: flex;
77
85
  justify-content: space-between;
78
86
  align-items: center;
@@ -370,6 +378,15 @@ img.smallogo {
370
378
  .stat p {
371
379
  font-size: 0.9em;
372
380
  }
381
+
382
+ .num {
383
+ font-family: monospace;
384
+ }
385
+
386
+ td.num {
387
+ text-align: right;
388
+ }
389
+
373
390
  @media (max-width: 767px) {
374
391
  .stats-container {
375
392
  display: block;
@@ -617,8 +634,12 @@ div.interval-slider input {
617
634
  .container {
618
635
  padding: 0;
619
636
  }
637
+ .navbar-fixed-bottom {
638
+ position: relative;
639
+ top: auto;
640
+ }
620
641
  @media (max-width: 767px) {
621
- .navbar-fixed-top, .navbar-fixed-bottom {
642
+ .navbar-fixed-top {
622
643
  position: relative;
623
644
  top: auto;
624
645
  }
@@ -676,8 +697,8 @@ div.interval-slider input {
676
697
  }
677
698
 
678
699
  .info-circle {
679
- color: #ccc;
680
- background-color: #000;
700
+ color: #333;
701
+ background-color: #ccc;
681
702
  border-radius: 50%;
682
703
  text-align: center;
683
704
  vertical-align: middle;
@@ -722,3 +743,16 @@ div.interval-slider input {
722
743
  canvas {
723
744
  margin: 20px 0 30px;
724
745
  }
746
+
747
+ #locale-select {
748
+ float: left;
749
+ margin: 8px 15px;
750
+ }
751
+
752
+ @media (max-width: 767px) {
753
+ #locale-select {
754
+ float: none;
755
+ width: auto;
756
+ margin: 15px auto;
757
+ }
758
+ }
data/web/locales/da.yml CHANGED
@@ -1,11 +1,12 @@
1
1
  # elements like %{queue} are variables and should not be translated
2
2
  da:
3
- Actions: Actions
3
+ Actions: Handlinger
4
4
  AddToQueue: Tilføj til kø
5
5
  AreYouSure: Er du sikker?
6
6
  AreYouSureDeleteJob: Er du sikker på at du vil slette dette job?
7
7
  AreYouSureDeleteQueue: Er du sikker på at du vil slette %{queue} køen?
8
8
  Arguments: Argumenter
9
+ AvgExecutionTime: Gennemsnitlig eksekveringstid
9
10
  Busy: Travl
10
11
  Class: Klasse
11
12
  Connections: Forbindelser
@@ -18,21 +19,25 @@ da:
18
19
  Enqueued: I kø
19
20
  Error: Fejl
20
21
  ErrorBacktrace: Fejl backtrace
21
- ErrorClass: Fejl klasse
22
- ErrorMessage: Fejl besked
22
+ ErrorClass: Fejlklasse
23
+ ErrorMessage: Fejlbesked
23
24
  Extras: Ekstra
24
25
  Failed: Fejlet
26
+ Failure: Fejl
25
27
  Failures: Fejl
26
28
  GoBack: ← Tilbage
27
29
  History: Historik
28
30
  Job: Job
29
31
  Jobs: Jobs
32
+ Latency: Forsinkelse
30
33
  LastRetry: Sidste forsøg
31
34
  LivePoll: Live Poll
32
35
  MemoryUsage: RAM forbrug
36
+ Name: Navn
33
37
  Namespace: Namespace
34
38
  NextRetry: Næste forsøg
35
39
  NoDeadJobsFound: Ingen døde jobs fundet
40
+ NoJobMetricsFound: Ingen nylig job-metrics blev fundet
36
41
  NoRetriesFound: Ingen gen-forsøg var fundet
37
42
  NoScheduledFound: Ingen jobs i kø fundet
38
43
  OneMonth: 1 måned
@@ -43,7 +48,7 @@ da:
43
48
  Processes: Processer
44
49
  Queue: Kø
45
50
  Queues: Køer
46
- Realtime: Real-time
51
+ Realtime: Realtid
47
52
  Retries: Forsøg
48
53
  RetryAll: Forsøg alle
49
54
  RetryCount: Antal forsøg
@@ -56,10 +61,12 @@ da:
56
61
  Started: Startet
57
62
  Status: Status
58
63
  StopPolling: Stop Polling
64
+ Success: Succes
59
65
  Thread: Tråd
60
66
  Threads: Tråde
61
67
  ThreeMonths: 3 måneder
62
68
  Time: Tid
69
+ TotalExecutionTime: Total eksekveringstid
63
70
  Uptime: Oppetid (dage)
64
71
  Version: Version
65
72
  When: Når
data/web/locales/en.yml CHANGED
@@ -97,3 +97,5 @@ en:
97
97
  Context: Context
98
98
  Bucket: Bucket
99
99
  NoJobMetricsFound: No recent job metrics were found
100
+ Filter: Filter
101
+ AnyJobContent: Any job content
data/web/locales/fr.yml CHANGED
@@ -17,14 +17,17 @@ fr:
17
17
  DeadJobs: Tâches mortes
18
18
  Delete: Supprimer
19
19
  DeleteAll: Tout supprimer
20
+ Deploy: Déploiement
20
21
  Enqueued: En attente
21
22
  Error: Erreur
22
23
  ErrorBacktrace: Backtrace d’erreur
23
24
  ErrorClass: Classe d’erreur
24
25
  ErrorMessage: Message d’erreur
26
+ ExecutionTime: Temps d'exécution
25
27
  Extras: Extras
26
28
  Failed: Échouées
27
29
  Failures: Echecs
30
+ Failure: Echec
28
31
  GoBack: ← Retour
29
32
  History: Historique
30
33
  Job: Tâche
@@ -35,6 +38,7 @@ fr:
35
38
  Latency: Latence
36
39
  LivePoll: Temps réel
37
40
  MemoryUsage: Mémoire utilisée
41
+ Name: Nom
38
42
  Namespace: Namespace
39
43
  NextRetry: Prochain essai
40
44
  NoDeadJobsFound: Aucune tâche morte n'a été trouvée
@@ -63,6 +67,7 @@ fr:
63
67
  RetryNow: Réessayer maintenant
64
68
  Scheduled: Planifiées
65
69
  ScheduledJobs: Tâches planifiées
70
+ Seconds: Secondes
66
71
  ShowAll: Tout montrer
67
72
  SixMonths: 6 mois
68
73
  Size: Taille
@@ -71,6 +76,8 @@ fr:
71
76
  Stop: Arrêter
72
77
  StopAll: Tout arrêter
73
78
  StopPolling: Arrêt du temps réel
79
+ Success: Succès
80
+ Summary: Résumé
74
81
  Thread: Thread
75
82
  Threads: Threads
76
83
  ThreeMonths: 3 mois
@@ -83,3 +90,10 @@ fr:
83
90
  Worker: Travailleur
84
91
  active: actif
85
92
  idle: inactif
93
+ Metrics: Métriques
94
+ NoDataFound: Aucune donnée disponible
95
+ TotalExecutionTime: Temps d'exécution total
96
+ AvgExecutionTime: Temps d'exécution moyen
97
+ Context: Contexte
98
+ Bucket: Bucket
99
+ NoJobMetricsFound: Aucune statistique de tâche récente n'a été trouvée
@@ -0,0 +1,99 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ gd:
3
+ Actions: Gnìomhan
4
+ AddToQueue: Cuir ris a’ chiutha
5
+ AreYouSure: A bheil thu cinnteach?
6
+ AreYouSureDeleteJob: A bheil thu cinnteach gu bheil thu airson an obair seo a sguabadh às?
7
+ AreYouSureDeleteQueue: A bheil thu cinnteach gu bheil thu airson ciutha %{queue} a sguabadh às? Sguabaidh seo às gach obair sa chiutha seo, nochdaidh e a-rithist nuair a phutas tu barrachd obraichean dha an uairsin.
8
+ Arguments: Argamaidean
9
+ BackToApp: Till dhan aplacaid
10
+ Busy: Trang
11
+ Class: Clas
12
+ Connections: Ceanglaichean
13
+ CreatedAt: Air a chruthachadh
14
+ CurrentMessagesInQueue: Obraichean làithreach am broinn <span class='title'>%{queue}</span>
15
+ Dashboard: Deas-bhòrd
16
+ Dead: Marbh
17
+ DeadJobs: Obraichean marbh
18
+ Delete: Sguab às
19
+ DeleteAll: Sguab às na h-uile
20
+ Deploy: Cuir an gnìomh
21
+ Enqueued: Sa chiutha
22
+ Error: Mearachd
23
+ ErrorBacktrace: Backtrace na mearachd
24
+ ErrorClass: Clas na mearachd
25
+ ErrorMessage: Teachdaireachd na mearachd
26
+ ExecutionTime: Àm a’ ghnìomha
27
+ Extras: Nithean a bharrachd
28
+ Failed: Air fàilligeadh
29
+ Failures: Fàilligidhean
30
+ Failure: Fàilligeadh
31
+ GoBack: ← Air ais
32
+ History: Eachdraidh
33
+ Job: Obair
34
+ Jobs: Obraichean
35
+ Kill: Marbh
36
+ KillAll: Marbh na h-uile
37
+ LastRetry: An oidhirp mu dheireadh
38
+ Latency: Foillidheachd
39
+ LivePoll: Ath-nuadhachadh beò
40
+ MemoryUsage: Cleachdadh a’ chuimhne
41
+ Name: Ainm
42
+ Namespace: Ainm-spàs
43
+ NextRetry: An ath-oidhirp
44
+ NoDeadJobsFound: Cha deach obair mharbh a lorg
45
+ NoRetriesFound: Cha deach ath-oidhirp a lorg
46
+ NoScheduledFound: Cha deach obair air an sgeideal a lorg
47
+ NotYetEnqueued: Chan eil seo sa chiutha fhathast
48
+ OneMonth: Mìos
49
+ OneWeek: Seachdain
50
+ OriginallyFailed: Dh’fhàillig e o thùs
51
+ Pause: Cuir ’na stad
52
+ Paused: ’Na stad
53
+ PeakMemoryUsage: Bàrr cleachdadh a’ chuimhne
54
+ Plugins: Plugain
55
+ PollingInterval: Eadaramh an ath-nuadhachaidh
56
+ Process: Pròiseas
57
+ Processed: Air pròiseasadh
58
+ Processes: Pròiseasan
59
+ Queue: Ciutha
60
+ Queues: Ciuthan
61
+ Quiet: Mùch
62
+ QuietAll: Mùch na h-uile
63
+ Realtime: Fìor-àm
64
+ Retries: Oidhirpean
65
+ RetryAll: Feuch ris na h-uile a-rithist
66
+ RetryCount: Cunntas nan oidhirpean
67
+ RetryNow: Feuch ris a-rithist an-dràsta
68
+ Scheduled: Air an sgeideal
69
+ ScheduledJobs: Obraichean air an sgeideal
70
+ Seconds: Diogan
71
+ ShowAll: Seall na h-uile
72
+ SixMonths: Leth-bhliadhna
73
+ Size: Meud
74
+ Started: Air a thòiseachadh
75
+ Status: Staid
76
+ Stop: Cuir stad air
77
+ StopAll: Cuir stad air na h-uile
78
+ StopPolling: Sguir dhen ath-nuadhachadh
79
+ Success: Chaidh leis
80
+ Summary: Geàrr-chunntas
81
+ Thread: Snàithlean
82
+ Threads: Snàithleanan
83
+ ThreeMonths: 3 mìosan
84
+ Time: Àm
85
+ Unpause: Lean air
86
+ Uptime: Beò fad (làithean)
87
+ Utilization: Cleachdadh
88
+ Version: Tionndadh
89
+ When: Cuin
90
+ Worker: Obraiche
91
+ active: gnìomhach
92
+ idle: ’na thàmh
93
+ Metrics: Meatraigeachd
94
+ NoDataFound: Cha deach dàta a lorg
95
+ TotalExecutionTime: Ùine iomlan nan gnìomhan
96
+ AvgExecutionTime: Ùine cuibheasach nan gnìomhan
97
+ Context: Co-theacsa
98
+ Bucket: Bucaid
99
+ NoJobMetricsFound: Cha deach meatraigeachd o chionn goirid air obair a lorg
data/web/locales/ja.yml CHANGED
@@ -27,6 +27,7 @@ ja:
27
27
  Extras: エクストラ
28
28
  Failed: 失敗
29
29
  Failures: 失敗
30
+ Failure: 失敗
30
31
  GoBack: ← 戻る
31
32
  History: 履歴
32
33
  Job: ジョブ
@@ -75,6 +76,7 @@ ja:
75
76
  Stop: 停止
76
77
  StopAll: すべて停止
77
78
  StopPolling: ポーリング停止
79
+ Success: 成功
78
80
  Thread: スレッド
79
81
  Threads: スレッド
80
82
  ThreeMonths: 3 ヶ月
@@ -82,7 +84,7 @@ ja:
82
84
  Unpause: 一時停止を解除
83
85
  Metrics: メトリクス
84
86
  NoDataFound: データが見つかりませんでした
85
- ExecutionTime: 合計実行時間
87
+ TotalExecutionTime: 合計実行時間
86
88
  AvgExecutionTime: 平均実行時間
87
89
  Context: コンテキスト
88
90
  Bucket: バケット
@@ -5,10 +5,13 @@
5
5
  AreYouSureDeleteJob: Deseja deletar esta tarefa?
6
6
  AreYouSureDeleteQueue: Deseja deletar a fila %{queue}? Isso irá deletar todas as tarefas desta fila.
7
7
  Arguments: Argumentos
8
+ AvgExecutionTime: Tempo médio de execução
8
9
  BackToApp: De volta ao aplicativo
10
+ Bucket: Bucket
9
11
  Busy: Ocupados
10
12
  Class: Classe
11
13
  Connections: Conexões
14
+ Context: Contexto
12
15
  CreatedAt: Criado em
13
16
  CurrentMessagesInQueue: Mensagens atualmente na <span class='title'>%{queue}</span>
14
17
  Dashboard: Painel
@@ -16,13 +19,16 @@
16
19
  DeadJobs: Tarefas mortas
17
20
  Delete: Apagar
18
21
  DeleteAll: Apagar tudo
22
+ Deploy: Deploy
19
23
  Enqueued: Na fila
20
24
  Error: Erro
21
25
  ErrorBacktrace: Rastreamento do erro
22
26
  ErrorClass: Classe de erro
23
27
  ErrorMessage: Mensagem de erro
28
+ ExecutionTime: Tempo de execução
24
29
  Extras: Extras
25
30
  Failed: Falhas
31
+ Failure: Falha
26
32
  Failures: Falhas
27
33
  GoBack: ← Voltar
28
34
  History: Histórico
@@ -34,10 +40,13 @@
34
40
  Latency: Latência
35
41
  LivePoll: Live Poll
36
42
  MemoryUsage: Uso de memória
43
+ Metrics: Métricas
37
44
  Name: Nome
38
45
  Namespace: Namespace
39
46
  NextRetry: Próxima Tentativa
47
+ NoDataFound: Nenhum dado encontrado
40
48
  NoDeadJobsFound: Nenhuma tarefa morta foi encontrada
49
+ NoJobMetricsFound: Nenhuma métrica de tarefa encontrada
41
50
  NoRetriesFound: Nenhuma tentativa encontrada
42
51
  NoScheduledFound: Nenhuma tarefa agendada foi encontrada
43
52
  NotYetEnqueued: Ainda não enfileirado
@@ -47,6 +56,7 @@
47
56
  Pause: Pausar
48
57
  Paused: Pausado
49
58
  PeakMemoryUsage: Pico de uso de memória
59
+ Uptime: Tempo de atividade
50
60
  Plugins: Plug-ins
51
61
  PollingInterval: Intervalo de Polling
52
62
  Process: Processo
@@ -63,14 +73,24 @@
63
73
  RetryNow: Tentar novamente agora
64
74
  Scheduled: Agendados
65
75
  ScheduledJobs: Tarefas agendadas
76
+ idle: Ocioso
77
+ active: Ativo
78
+ Seconds: Segundos
66
79
  ShowAll: Mostrar todos
67
80
  SixMonths: 6 meses
68
81
  Size: Tamanho
82
+ Started: Iniciado
69
83
  Stop: Parar
70
84
  StopAll: Parar Todos
71
85
  StopPolling: Parar Polling
86
+ Success: Sucesso
87
+ Summary: Resumo
72
88
  Thread: Thread
73
89
  Threads: Threads
90
+ ThreeMonths: 3 meses
91
+ TotalExecutionTime: Tempo total de execução
74
92
  Unpause: Despausar
75
93
  Utilization: Utilização
94
+ Version: Versão
95
+ When: Quando
76
96
  Worker: Trabalhador
@@ -0,0 +1,101 @@
1
+ # elements like %{queue} are variables and should not be translated
2
+ tr:
3
+ Actions: Eylemler
4
+ AddToQueue: Kuyruğa ekle
5
+ AreYouSure: Emin misiniz?
6
+ AreYouSureDeleteJob: Bu işi silmek istediğinizden emin misiniz?
7
+ AreYouSureDeleteQueue: %{queue} kuyruğunu silmek istediğinizden emin misiniz?
8
+ Arguments: Argümanlar
9
+ BackToApp: Uygulamaya geri dön
10
+ Busy: Meşgul
11
+ Class: Sınıf
12
+ Connections: Bağlantılar
13
+ CreatedAt: Oluşturulma Tarihi
14
+ CurrentMessagesInQueue: Şu anki işler <span class='title'>%{queue}</span>
15
+ Dashboard: Gösterge Paneli
16
+ Dead: Ölü
17
+ DeadJobs: Ölü İşler
18
+ Delete: Sil
19
+ DeleteAll: Hepsini Sil
20
+ Deploy: Dağıt
21
+ Enqueued: Kuyruğa Alındı
22
+ Error: Hata
23
+ ErrorBacktrace: Hata Geri İzleme
24
+ ErrorClass: Hata Sınıfı
25
+ ErrorMessage: Hata Mesajı
26
+ ExecutionTime: Yürütme Süresi
27
+ Extras: Ekstralar
28
+ Failed: Başarısız
29
+ Failures: Başarısızlıklar
30
+ Failure: Başarısızlık
31
+ GoBack: ← Geri Dön
32
+ History: Geçmiş
33
+ Job: İş
34
+ Jobs: İşler
35
+ Kill: Sonlandır
36
+ KillAll: Hepsini Sonlandır
37
+ LastRetry: Son Yeniden Deneme
38
+ Latency: Gecikme
39
+ LivePoll: Canlı Anket
40
+ MemoryUsage: Bellek Kullanımı
41
+ Name: İsim
42
+ Namespace: Ad Alanı
43
+ NextRetry: Bir Sonraki Yeniden Deneme
44
+ NoDeadJobsFound: Ölü iş bulunamadı
45
+ NoRetriesFound: Yeniden deneme bulunamadı
46
+ NoScheduledFound: Zamanlanmış iş bulunamadı
47
+ NotYetEnqueued: Henüz kuyruğa alınmadı
48
+ OneMonth: 1 ay
49
+ OneWeek: 1 hafta
50
+ OriginallyFailed: İlk Başarısızlık
51
+ Pause: Duraklat
52
+ Paused: Duraklatıldı
53
+ PeakMemoryUsage: Maksimum Bellek Kullanımı
54
+ Plugins: Eklentiler
55
+ PollingInterval: Anket Aralığı
56
+ Process: Süreç
57
+ Processed: İşlendi
58
+ Processes: Süreçler
59
+ Queue: Kuyruk
60
+ Queues: Kuyruklar
61
+ Quiet: Sessiz
62
+ QuietAll: Hepsini Sessiz Yap
63
+ Realtime: Gerçek Zamanlı
64
+ Retries: Yeniden Denemeler
65
+ RetryAll: Hepsini Yeniden Dene
66
+ RetryCount: Yeniden Deneme Sayısı
67
+ RetryNow: Şimdi Yeniden Dene
68
+ Scheduled: Zamanlanmış
69
+ ScheduledJobs: Zamanlanmış İşler
70
+ Seconds: Saniye
71
+ ShowAll: Hepsini Göster
72
+ SixMonths: 6 ay
73
+ Size: Boyut
74
+ Started: Başlatıldı
75
+ Status: Durum
76
+ Stop: Durdur
77
+ StopAll: Hepsini Durdur
78
+ StopPolling: Anketi Durdur
79
+ Success: Başarı
80
+ Summary: Özet
81
+ Thread: İplik
82
+ Threads: İplikler
83
+ ThreeMonths: 3 ay
84
+ Time: Zaman
85
+ Unpause: Duraklatmayı Kaldır
86
+ Uptime: Çalışma Süresi (gün)
87
+ Utilization: Kullanım
88
+ Version: Sürüm
89
+ When: Ne Zaman
90
+ Worker: İşçi
91
+ active: aktif
92
+ idle: boşta
93
+ Metrics: Metrikler
94
+ NoDataFound: Veri bulunamadı
95
+ TotalExecutionTime: Toplam Yürütme Süresi
96
+ AvgExecutionTime: Ortalama Yürütme Süresi
97
+ Context: Bağlam
98
+ Bucket: Kova
99
+ NoJobMetricsFound: Son iş metrikleri bulunamadı
100
+ Filter: Filtre
101
+ AnyJobContent: Herhangi bir iş içeriği
@@ -32,23 +32,22 @@ zh-cn: # <---- change this to your locale code
32
32
  Size: 容量
33
33
  Actions: 动作
34
34
  NextRetry: 下次重试
35
- RetryCount: 重试次數
35
+ RetryCount: 重试次数
36
36
  RetryNow: 现在重试
37
37
  Kill: 终止
38
- LastRetry: 最后一次重试
39
- OriginallyFailed: 原本已失败
38
+ LastRetry: 上次重试
39
+ OriginallyFailed: 首次失败
40
40
  AreYouSure: 你确定?
41
41
  DeleteAll: 全部删除
42
42
  RetryAll: 全部重试
43
43
  KillAll: 全部终止
44
- NoRetriesFound: 沒有发现可重试
44
+ NoRetriesFound: 没有发现可重试
45
45
  Error: 错误
46
- ErrorBacktrace: 错误的回调追踪
47
46
  ErrorClass: 错误类别
48
47
  ErrorMessage: 错误消息
49
48
  ErrorBacktrace: 错误细节
50
49
  GoBack: ← 返回
51
- NoScheduledFound: 沒有发现计划任务
50
+ NoScheduledFound: 没有发现计划任务
52
51
  When: 当
53
52
  ScheduledJobs: 计划任务
54
53
  idle: 闲置
@@ -64,26 +63,26 @@ zh-cn: # <---- change this to your locale code
64
63
  SixMonths: 六个月
65
64
  Failures: 失败
66
65
  DeadJobs: 已停滞任务
67
- NoDeadJobsFound: 沒有发现任何已停滞的任务
66
+ NoDeadJobsFound: 没有发现任何已停滞的任务
68
67
  Dead: 已停滞
69
68
  Process: 进程
70
- Processes: 处理中
69
+ Processes: 进程
71
70
  Name: 名称
72
71
  Thread: 线程
73
72
  Threads: 线程
74
73
  Jobs: 任务
75
- Paused: 已暫停
76
- Stop: 強制暫停
77
- Quiet: 暫停
78
- StopAll: 全部強制暫停
79
- QuietAll: 全部暫停
80
- PollingInterval: 輪詢週期
81
- Plugins: 套件
82
- NotYetEnqueued: 尚未進入佇列
83
- CreatedAt: 建立時間
74
+ Paused: 已暂停
75
+ Stop: 强制暂停
76
+ Quiet: 暂停
77
+ StopAll: 全部强制暂停
78
+ QuietAll: 全部暂停
79
+ PollingInterval: 轮询周期
80
+ Plugins: 插件
81
+ NotYetEnqueued: 尚未进入队列
82
+ CreatedAt: 建立时间
84
83
  BackToApp: 回首頁
85
- Latency: 延時
86
- Pause: 暫停
84
+ Latency: 延迟
85
+ Pause: 暂停
87
86
  Unpause: 取消暂停
88
87
  Metrics: 指标
89
88
  NoDataFound: 无数据
@@ -92,3 +91,5 @@ zh-cn: # <---- change this to your locale code
92
91
  Context: 上下文
93
92
  Bucket: 桶
94
93
  NoJobMetricsFound: 无任务相关指标数据
94
+ Success: 成功
95
+ Failure: 失败