pgbus 0.8.4 → 0.9.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.
- checksums.yaml +4 -4
- data/app/controllers/pgbus/batches_controller.rb +15 -0
- data/app/helpers/pgbus/application_helper.rb +12 -0
- data/app/views/layouts/pgbus/application.html.erb +2 -0
- data/app/views/pgbus/batches/_batches_table.html.erb +53 -0
- data/app/views/pgbus/batches/index.html.erb +8 -0
- data/app/views/pgbus/batches/show.html.erb +90 -0
- data/config/locales/da.yml +34 -0
- data/config/locales/de.yml +34 -0
- data/config/locales/en.yml +34 -0
- data/config/locales/es.yml +34 -0
- data/config/locales/fi.yml +34 -0
- data/config/locales/fr.yml +34 -0
- data/config/locales/it.yml +34 -0
- data/config/locales/ja.yml +34 -0
- data/config/locales/nb.yml +34 -0
- data/config/locales/nl.yml +34 -0
- data/config/locales/pt.yml +34 -0
- data/config/locales/sv.yml +34 -0
- data/config/routes.rb +1 -0
- data/lib/pgbus/client.rb +102 -4
- data/lib/pgbus/configuration.rb +25 -0
- data/lib/pgbus/process/supervisor.rb +2 -1
- data/lib/pgbus/process/worker.rb +38 -1
- data/lib/pgbus/serializer.rb +1 -1
- data/lib/pgbus/version.rb +1 -1
- data/lib/pgbus/web/data_source.rb +96 -0
- data/lib/tasks/pgbus_queues.rake +54 -0
- metadata +8 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 93b9de67b282c7c707b2dcd4222ddde62d758447cc4769f72046dcf5b017dd92
|
|
4
|
+
data.tar.gz: 1a30a5e46ec20f02fa1cca3d56435c4e2c7f426a3933c523351503f0b69bff64
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8912988721d6dfcf064693b9a84a6d1925a3535535b4b584abbdb2d311f80a5c1d7f6503c72da2825cbdfaf8daedb9c9e04b53353d3cc81279945b616a47a204
|
|
7
|
+
data.tar.gz: '0668b1229a24e47bcdc7fbb3d5f5fcfe95417329be2cdf14eb039cd9e258c22cefcaa4dbb3f2d17a84d5f0aa2c8a6def94971f9a51913ae028f395ac7758168c'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pgbus
|
|
4
|
+
class BatchesController < ApplicationController
|
|
5
|
+
def index
|
|
6
|
+
@batches = data_source.batches
|
|
7
|
+
render_frame("pgbus/batches/batches_table") if params[:frame] == "list"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def show
|
|
11
|
+
@batch = data_source.batch_detail(params[:id])
|
|
12
|
+
redirect_to batches_path, alert: t("pgbus.batches.show.not_found") unless @batch
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -84,6 +84,18 @@ module Pgbus
|
|
|
84
84
|
class: "inline-flex items-center rounded-full bg-yellow-100 px-2 py-0.5 text-xs font-medium text-yellow-800")
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
+
BATCH_BADGE_BASE = "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium"
|
|
88
|
+
BATCH_BADGE_CSS = {
|
|
89
|
+
"finished" => "#{BATCH_BADGE_BASE} bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",
|
|
90
|
+
"processing" => "#{BATCH_BADGE_BASE} bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400",
|
|
91
|
+
"pending" => "#{BATCH_BADGE_BASE} bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"
|
|
92
|
+
}.freeze
|
|
93
|
+
|
|
94
|
+
def pgbus_batch_status_badge(status)
|
|
95
|
+
css = BATCH_BADGE_CSS[status] || BATCH_BADGE_CSS["pending"]
|
|
96
|
+
tag.span(I18n.t("pgbus.helpers.batch_status.#{status}", default: status), class: css)
|
|
97
|
+
end
|
|
98
|
+
|
|
87
99
|
def pgbus_parse_message(message)
|
|
88
100
|
return {} unless message
|
|
89
101
|
|
|
@@ -129,6 +129,7 @@
|
|
|
129
129
|
<%= pgbus_nav_link t("pgbus.layout.nav.recurring"), pgbus.recurring_tasks_path %>
|
|
130
130
|
<%= pgbus_nav_link t("pgbus.layout.nav.processes"), pgbus.processes_path %>
|
|
131
131
|
<%= pgbus_nav_link t("pgbus.layout.nav.events"), pgbus.events_path %>
|
|
132
|
+
<%= pgbus_nav_link t("pgbus.layout.nav.batches"), pgbus.batches_path %>
|
|
132
133
|
<%= pgbus_nav_link t("pgbus.layout.nav.dlq"), pgbus.dead_letter_index_path %>
|
|
133
134
|
<%= pgbus_nav_link t("pgbus.layout.nav.outbox"), pgbus.outbox_index_path %>
|
|
134
135
|
<%= pgbus_nav_link t("pgbus.layout.nav.locks"), pgbus.locks_path %>
|
|
@@ -188,6 +189,7 @@
|
|
|
188
189
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.recurring"), pgbus.recurring_tasks_path %>
|
|
189
190
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.processes"), pgbus.processes_path %>
|
|
190
191
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.events"), pgbus.events_path %>
|
|
192
|
+
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.batches"), pgbus.batches_path %>
|
|
191
193
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.dlq"), pgbus.dead_letter_index_path %>
|
|
192
194
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.outbox"), pgbus.outbox_index_path %>
|
|
193
195
|
<%= pgbus_mobile_nav_link t("pgbus.layout.nav.locks"), pgbus.locks_path %>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<turbo-frame id="batches-list">
|
|
2
|
+
<div class="overflow-hidden rounded-lg bg-white dark:bg-gray-800 shadow ring-1 ring-gray-200 dark:ring-gray-700">
|
|
3
|
+
<table class="pgbus-table min-w-full divide-y divide-gray-200 dark:divide-gray-700">
|
|
4
|
+
<thead class="bg-gray-50 dark:bg-gray-900">
|
|
5
|
+
<tr>
|
|
6
|
+
<th class="px-4 py-3 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.batch_id") %></th>
|
|
7
|
+
<th class="px-4 py-3 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.description") %></th>
|
|
8
|
+
<th class="px-4 py-3 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.status") %></th>
|
|
9
|
+
<th class="px-4 py-3 text-left text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.progress") %></th>
|
|
10
|
+
<th class="px-4 py-3 text-right text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.jobs") %></th>
|
|
11
|
+
<th class="px-4 py-3 text-right text-xs font-medium uppercase text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.headers.created") %></th>
|
|
12
|
+
</tr>
|
|
13
|
+
</thead>
|
|
14
|
+
<tbody class="divide-y divide-gray-100 dark:divide-gray-700">
|
|
15
|
+
<% @batches.each do |batch| %>
|
|
16
|
+
<tr class="hover:bg-gray-50 dark:hover:bg-gray-700/50">
|
|
17
|
+
<td data-label="Batch ID" class="px-4 py-3 text-sm">
|
|
18
|
+
<%= link_to batch[:batch_id][0..7], pgbus.batch_path(batch[:batch_id]),
|
|
19
|
+
class: "font-mono text-indigo-600 dark:text-indigo-400 hover:underline" %>
|
|
20
|
+
</td>
|
|
21
|
+
<td data-label="Description" class="px-4 py-3 text-sm text-gray-700 dark:text-gray-300 max-w-xs truncate">
|
|
22
|
+
<%= batch[:description] || "—" %>
|
|
23
|
+
</td>
|
|
24
|
+
<td data-label="Status" class="px-4 py-3 text-sm">
|
|
25
|
+
<%= pgbus_batch_status_badge(batch[:status]) %>
|
|
26
|
+
</td>
|
|
27
|
+
<td data-label="Progress" class="px-4 py-3 text-sm">
|
|
28
|
+
<div class="flex items-center space-x-2">
|
|
29
|
+
<div class="w-24 bg-gray-200 dark:bg-gray-700 rounded-full h-2">
|
|
30
|
+
<div class="h-2 rounded-full <%= batch[:discarded_jobs].to_i > 0 ? 'bg-amber-500' : 'bg-green-500' %>"
|
|
31
|
+
style="width: <%= batch[:progress_pct] %>%"></div>
|
|
32
|
+
</div>
|
|
33
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-mono"><%= batch[:progress_pct] %>%</span>
|
|
34
|
+
</div>
|
|
35
|
+
</td>
|
|
36
|
+
<td data-label="Jobs" class="px-4 py-3 text-sm text-right font-mono text-gray-500 dark:text-gray-400">
|
|
37
|
+
<%= batch[:completed_jobs] %>/<%= batch[:total_jobs] %>
|
|
38
|
+
<% if batch[:discarded_jobs].to_i > 0 %>
|
|
39
|
+
<span class="text-red-500">(<%= batch[:discarded_jobs] %> dlq)</span>
|
|
40
|
+
<% end %>
|
|
41
|
+
</td>
|
|
42
|
+
<td data-label="Created" class="px-4 py-3 text-sm text-right text-gray-500 dark:text-gray-400">
|
|
43
|
+
<%= pgbus_time_ago(batch[:created_at]) %>
|
|
44
|
+
</td>
|
|
45
|
+
</tr>
|
|
46
|
+
<% end %>
|
|
47
|
+
<% if @batches.empty? %>
|
|
48
|
+
<tr><td colspan="6" class="px-4 py-8 text-center text-sm text-gray-400 dark:text-gray-500"><%= t("pgbus.batches.index.empty") %></td></tr>
|
|
49
|
+
<% end %>
|
|
50
|
+
</tbody>
|
|
51
|
+
</table>
|
|
52
|
+
</div>
|
|
53
|
+
</turbo-frame>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<div class="flex items-center justify-between mb-6">
|
|
2
|
+
<div>
|
|
3
|
+
<h1 class="text-2xl font-bold text-gray-900 dark:text-white"><%= t("pgbus.batches.index.title") %></h1>
|
|
4
|
+
<p class="mt-1 text-sm text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.index.description") %></p>
|
|
5
|
+
</div>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<%= render "pgbus/batches/batches_table" %>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<div class="mb-6">
|
|
2
|
+
<div class="flex items-center space-x-2 mb-2">
|
|
3
|
+
<%= link_to t("pgbus.batches.show.back"), pgbus.batches_path,
|
|
4
|
+
class: "text-sm text-indigo-600 dark:text-indigo-400 hover:underline" %>
|
|
5
|
+
</div>
|
|
6
|
+
<h1 class="text-2xl font-bold text-gray-900 dark:text-white">
|
|
7
|
+
<%= t("pgbus.batches.show.title") %>
|
|
8
|
+
<span class="font-mono text-lg"><%= @batch[:batch_id][0..7] %></span>
|
|
9
|
+
<%= pgbus_batch_status_badge(@batch[:status]) %>
|
|
10
|
+
</h1>
|
|
11
|
+
<% if @batch[:description] %>
|
|
12
|
+
<p class="mt-1 text-sm text-gray-500 dark:text-gray-400"><%= @batch[:description] %></p>
|
|
13
|
+
<% end %>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<!-- Progress -->
|
|
17
|
+
<div class="mb-6 overflow-hidden rounded-lg bg-white dark:bg-gray-800 shadow ring-1 ring-gray-200 dark:ring-gray-700 p-6">
|
|
18
|
+
<h2 class="text-sm font-semibold text-gray-900 dark:text-white mb-4"><%= t("pgbus.batches.show.progress") %></h2>
|
|
19
|
+
|
|
20
|
+
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-4 mb-3">
|
|
21
|
+
<div class="h-4 rounded-full transition-all duration-300 <%= @batch[:discarded_jobs].to_i > 0 ? 'bg-amber-500' : 'bg-green-500' %>"
|
|
22
|
+
style="width: <%= @batch[:progress_pct] %>%"></div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div class="grid grid-cols-2 sm:grid-cols-4 gap-4">
|
|
26
|
+
<div>
|
|
27
|
+
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase"><%= t("pgbus.batches.show.total_jobs") %></dt>
|
|
28
|
+
<dd class="mt-1 text-2xl font-semibold text-gray-900 dark:text-white font-mono"><%= @batch[:total_jobs] %></dd>
|
|
29
|
+
</div>
|
|
30
|
+
<div>
|
|
31
|
+
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase"><%= t("pgbus.batches.show.completed") %></dt>
|
|
32
|
+
<dd class="mt-1 text-2xl font-semibold text-green-600 dark:text-green-400 font-mono"><%= @batch[:completed_jobs] %></dd>
|
|
33
|
+
</div>
|
|
34
|
+
<div>
|
|
35
|
+
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase"><%= t("pgbus.batches.show.discarded") %></dt>
|
|
36
|
+
<dd class="mt-1 text-2xl font-semibold <%= @batch[:discarded_jobs].to_i > 0 ? 'text-red-600 dark:text-red-400' : 'text-gray-900 dark:text-white' %> font-mono"><%= @batch[:discarded_jobs] %></dd>
|
|
37
|
+
</div>
|
|
38
|
+
<div>
|
|
39
|
+
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase"><%= t("pgbus.batches.show.remaining") %></dt>
|
|
40
|
+
<dd class="mt-1 text-2xl font-semibold text-gray-900 dark:text-white font-mono"><%= @batch[:total_jobs] - @batch[:completed_jobs] - @batch[:discarded_jobs] %></dd>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<!-- Details -->
|
|
46
|
+
<div class="overflow-hidden rounded-lg bg-white dark:bg-gray-800 shadow ring-1 ring-gray-200 dark:ring-gray-700">
|
|
47
|
+
<div class="px-4 py-3 border-b border-gray-200 dark:border-gray-700">
|
|
48
|
+
<h2 class="text-sm font-semibold text-gray-900 dark:text-white"><%= t("pgbus.batches.show.details") %></h2>
|
|
49
|
+
</div>
|
|
50
|
+
<dl class="divide-y divide-gray-100 dark:divide-gray-700">
|
|
51
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
52
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.batch_id") %></dt>
|
|
53
|
+
<dd class="mt-1 text-sm font-mono text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:batch_id] %></dd>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
56
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.created_at") %></dt>
|
|
57
|
+
<dd class="mt-1 text-sm text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:created_at] %></dd>
|
|
58
|
+
</div>
|
|
59
|
+
<% if @batch[:finished_at] %>
|
|
60
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
61
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.finished_at") %></dt>
|
|
62
|
+
<dd class="mt-1 text-sm text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:finished_at] %></dd>
|
|
63
|
+
</div>
|
|
64
|
+
<% end %>
|
|
65
|
+
<% if @batch[:on_finish_class] %>
|
|
66
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
67
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.on_finish") %></dt>
|
|
68
|
+
<dd class="mt-1 text-sm font-mono text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:on_finish_class] %></dd>
|
|
69
|
+
</div>
|
|
70
|
+
<% end %>
|
|
71
|
+
<% if @batch[:on_success_class] %>
|
|
72
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
73
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.on_success") %></dt>
|
|
74
|
+
<dd class="mt-1 text-sm font-mono text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:on_success_class] %></dd>
|
|
75
|
+
</div>
|
|
76
|
+
<% end %>
|
|
77
|
+
<% if @batch[:on_discard_class] %>
|
|
78
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
79
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.on_discard") %></dt>
|
|
80
|
+
<dd class="mt-1 text-sm font-mono text-gray-900 dark:text-white sm:col-span-2 sm:mt-0"><%= @batch[:on_discard_class] %></dd>
|
|
81
|
+
</div>
|
|
82
|
+
<% end %>
|
|
83
|
+
<% if @batch[:properties].present? %>
|
|
84
|
+
<div class="px-4 py-3 sm:grid sm:grid-cols-3 sm:gap-4">
|
|
85
|
+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400"><%= t("pgbus.batches.show.properties") %></dt>
|
|
86
|
+
<dd class="mt-1 text-sm font-mono text-gray-900 dark:text-white sm:col-span-2 sm:mt-0 break-all"><%= @batch[:properties] %></dd>
|
|
87
|
+
</div>
|
|
88
|
+
<% end %>
|
|
89
|
+
</dl>
|
|
90
|
+
</div>
|
data/config/locales/da.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
da:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Jobbatches med fremdriftssporing og callbacks
|
|
7
|
+
empty: Ingen batches fundet
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: Batch-ID
|
|
10
|
+
created: Oprettet
|
|
11
|
+
description: Beskrivelse
|
|
12
|
+
jobs: Jobs
|
|
13
|
+
progress: Fremgang
|
|
14
|
+
status: Status
|
|
15
|
+
title: Batches
|
|
16
|
+
show:
|
|
17
|
+
back: Tilbage til batches
|
|
18
|
+
batch_id: Batch-ID
|
|
19
|
+
completed: Fuldført
|
|
20
|
+
created_at: Oprettet den
|
|
21
|
+
details: Detaljer
|
|
22
|
+
discarded: Kasseret
|
|
23
|
+
finished_at: Afsluttet den
|
|
24
|
+
not_found: Batch ikke fundet
|
|
25
|
+
on_discard: Ved kassering
|
|
26
|
+
on_finish: Ved afslutning
|
|
27
|
+
on_success: Ved succes
|
|
28
|
+
progress: Fremgang
|
|
29
|
+
properties: Egenskaber
|
|
30
|
+
remaining: Resterende
|
|
31
|
+
title: Batch
|
|
32
|
+
total_jobs: Samlet antal jobs
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: Ingen processer kører
|
|
@@ -189,6 +218,10 @@ da:
|
|
|
189
218
|
not_found: Begivenhed ikke fundet
|
|
190
219
|
title: Begivenhed %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Afsluttet
|
|
223
|
+
pending: Afventer
|
|
224
|
+
processing: Behandler
|
|
192
225
|
bulk_select_all: Vælg alle
|
|
193
226
|
bulk_select_row: Vælg %{id}
|
|
194
227
|
bulk_selected: valgt
|
|
@@ -346,6 +379,7 @@ da:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Batches
|
|
349
383
|
dashboard: Dashboard
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Begivenheder
|
data/config/locales/de.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
de:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Job-Stapel mit Fortschrittsverfolgung und Callbacks
|
|
7
|
+
empty: Keine Stapel gefunden
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: Stapel-ID
|
|
10
|
+
created: Erstellt
|
|
11
|
+
description: Beschreibung
|
|
12
|
+
jobs: Jobs
|
|
13
|
+
progress: Fortschritt
|
|
14
|
+
status: Status
|
|
15
|
+
title: Stapel
|
|
16
|
+
show:
|
|
17
|
+
back: Zurück zu Stapeln
|
|
18
|
+
batch_id: Stapel-ID
|
|
19
|
+
completed: Abgeschlossen
|
|
20
|
+
created_at: Erstellt am
|
|
21
|
+
details: Details
|
|
22
|
+
discarded: Verworfen
|
|
23
|
+
finished_at: Beendet am
|
|
24
|
+
not_found: Stapel nicht gefunden
|
|
25
|
+
on_discard: Bei Verwerfung
|
|
26
|
+
on_finish: Bei Beendigung
|
|
27
|
+
on_success: Bei Erfolg
|
|
28
|
+
progress: Fortschritt
|
|
29
|
+
properties: Eigenschaften
|
|
30
|
+
remaining: Verbleibend
|
|
31
|
+
title: Stapel
|
|
32
|
+
total_jobs: Gesamtanzahl Jobs
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: Keine Prozesse laufen
|
|
@@ -189,6 +218,10 @@ de:
|
|
|
189
218
|
not_found: Ereignis nicht gefunden
|
|
190
219
|
title: Ereignis %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Abgeschlossen
|
|
223
|
+
pending: Ausstehend
|
|
224
|
+
processing: In Bearbeitung
|
|
192
225
|
bulk_select_all: Alle auswählen
|
|
193
226
|
bulk_select_row: "%{id} auswählen"
|
|
194
227
|
bulk_selected: ausgewählt
|
|
@@ -346,6 +379,7 @@ de:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Stapel
|
|
349
383
|
dashboard: Dashboard
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Ereignisse
|
data/config/locales/en.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
en:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Job batches with progress tracking and callbacks
|
|
7
|
+
empty: No batches found
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: Batch ID
|
|
10
|
+
created: Created
|
|
11
|
+
description: Description
|
|
12
|
+
jobs: Jobs
|
|
13
|
+
progress: Progress
|
|
14
|
+
status: Status
|
|
15
|
+
title: Batches
|
|
16
|
+
show:
|
|
17
|
+
back: Back to batches
|
|
18
|
+
batch_id: Batch ID
|
|
19
|
+
completed: Completed
|
|
20
|
+
created_at: Created At
|
|
21
|
+
details: Details
|
|
22
|
+
discarded: Discarded
|
|
23
|
+
finished_at: Finished At
|
|
24
|
+
not_found: Batch not found
|
|
25
|
+
on_discard: On Discard
|
|
26
|
+
on_finish: On Finish
|
|
27
|
+
on_success: On Success
|
|
28
|
+
progress: Progress
|
|
29
|
+
properties: Properties
|
|
30
|
+
remaining: Remaining
|
|
31
|
+
title: Batch
|
|
32
|
+
total_jobs: Total Jobs
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: No processes running
|
|
@@ -189,6 +218,10 @@ en:
|
|
|
189
218
|
not_found: Event not found
|
|
190
219
|
title: Event %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Finished
|
|
223
|
+
pending: Pending
|
|
224
|
+
processing: Processing
|
|
192
225
|
bulk_select_all: Select all
|
|
193
226
|
bulk_select_row: Select %{id}
|
|
194
227
|
bulk_selected: selected
|
|
@@ -346,6 +379,7 @@ en:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Batches
|
|
349
383
|
dashboard: Dashboard
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Events
|
data/config/locales/es.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
es:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Lotes de trabajos con seguimiento de progreso y callbacks
|
|
7
|
+
empty: No se encontraron lotes
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: ID de lote
|
|
10
|
+
created: Creado
|
|
11
|
+
description: Descripción
|
|
12
|
+
jobs: Trabajos
|
|
13
|
+
progress: Progreso
|
|
14
|
+
status: Estado
|
|
15
|
+
title: Lotes
|
|
16
|
+
show:
|
|
17
|
+
back: Volver a lotes
|
|
18
|
+
batch_id: ID de lote
|
|
19
|
+
completed: Completados
|
|
20
|
+
created_at: Creado el
|
|
21
|
+
details: Detalles
|
|
22
|
+
discarded: Descartados
|
|
23
|
+
finished_at: Finalizado el
|
|
24
|
+
not_found: Lote no encontrado
|
|
25
|
+
on_discard: Al descartar
|
|
26
|
+
on_finish: Al finalizar
|
|
27
|
+
on_success: Al tener éxito
|
|
28
|
+
progress: Progreso
|
|
29
|
+
properties: Propiedades
|
|
30
|
+
remaining: Restantes
|
|
31
|
+
title: Lote
|
|
32
|
+
total_jobs: Total de trabajos
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: No hay procesos en ejecución
|
|
@@ -189,6 +218,10 @@ es:
|
|
|
189
218
|
not_found: Evento no encontrado
|
|
190
219
|
title: Evento %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Finalizado
|
|
223
|
+
pending: Pendiente
|
|
224
|
+
processing: Procesando
|
|
192
225
|
bulk_select_all: Seleccionar todo
|
|
193
226
|
bulk_select_row: Seleccionar %{id}
|
|
194
227
|
bulk_selected: seleccionado
|
|
@@ -346,6 +379,7 @@ es:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Lotes
|
|
349
383
|
dashboard: Panel de control
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Eventos
|
data/config/locales/fi.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
fi:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Tehtäväerät edistymisen seurannalla ja callback-kutsuilla
|
|
7
|
+
empty: Eriä ei löytynyt
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: Erä-ID
|
|
10
|
+
created: Luotu
|
|
11
|
+
description: Kuvaus
|
|
12
|
+
jobs: Tehtävät
|
|
13
|
+
progress: Edistyminen
|
|
14
|
+
status: Tila
|
|
15
|
+
title: Erät
|
|
16
|
+
show:
|
|
17
|
+
back: Takaisin eriin
|
|
18
|
+
batch_id: Erä-ID
|
|
19
|
+
completed: Valmiit
|
|
20
|
+
created_at: Luotu
|
|
21
|
+
details: Tiedot
|
|
22
|
+
discarded: Hylätyt
|
|
23
|
+
finished_at: Valmistunut
|
|
24
|
+
not_found: Erää ei löytynyt
|
|
25
|
+
on_discard: Hylkäyksessä
|
|
26
|
+
on_finish: Valmistumisessa
|
|
27
|
+
on_success: Onnistumisessa
|
|
28
|
+
progress: Edistyminen
|
|
29
|
+
properties: Ominaisuudet
|
|
30
|
+
remaining: Jäljellä
|
|
31
|
+
title: Erä
|
|
32
|
+
total_jobs: Tehtäviä yhteensä
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: Ei käynnissä olevia prosesseja
|
|
@@ -189,6 +218,10 @@ fi:
|
|
|
189
218
|
not_found: Tapahtumaa ei löytynyt
|
|
190
219
|
title: Tapahtuma %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Valmis
|
|
223
|
+
pending: Odottaa
|
|
224
|
+
processing: Käsittelyssä
|
|
192
225
|
bulk_select_all: Valitse kaikki
|
|
193
226
|
bulk_select_row: Valitse %{id}
|
|
194
227
|
bulk_selected: valittu
|
|
@@ -346,6 +379,7 @@ fi:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Erät
|
|
349
383
|
dashboard: Hallintapaneeli
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Tapahtumat
|
data/config/locales/fr.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
fr:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Lots de tâches avec suivi de progression et callbacks
|
|
7
|
+
empty: Aucun lot trouvé
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: ID du lot
|
|
10
|
+
created: Créé
|
|
11
|
+
description: Description
|
|
12
|
+
jobs: Tâches
|
|
13
|
+
progress: Progression
|
|
14
|
+
status: Statut
|
|
15
|
+
title: Lots
|
|
16
|
+
show:
|
|
17
|
+
back: Retour aux lots
|
|
18
|
+
batch_id: ID du lot
|
|
19
|
+
completed: Terminées
|
|
20
|
+
created_at: Créé le
|
|
21
|
+
details: Détails
|
|
22
|
+
discarded: Rejetées
|
|
23
|
+
finished_at: Terminé le
|
|
24
|
+
not_found: Lot non trouvé
|
|
25
|
+
on_discard: Au rejet
|
|
26
|
+
on_finish: À la fin
|
|
27
|
+
on_success: Au succès
|
|
28
|
+
progress: Progression
|
|
29
|
+
properties: Propriétés
|
|
30
|
+
remaining: Restantes
|
|
31
|
+
title: Lot
|
|
32
|
+
total_jobs: Total des tâches
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: Aucun processus en cours d'exécution
|
|
@@ -189,6 +218,10 @@ fr:
|
|
|
189
218
|
not_found: Événement non trouvé
|
|
190
219
|
title: Événement %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Terminé
|
|
223
|
+
pending: En attente
|
|
224
|
+
processing: En cours
|
|
192
225
|
bulk_select_all: Tout sélectionner
|
|
193
226
|
bulk_select_row: Sélectionner %{id}
|
|
194
227
|
bulk_selected: sélectionné
|
|
@@ -346,6 +379,7 @@ fr:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Lots
|
|
349
383
|
dashboard: Tableau de bord
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Événements
|
data/config/locales/it.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
it:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: Lotti di lavori con monitoraggio del progresso e callback
|
|
7
|
+
empty: Nessun lotto trovato
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: ID lotto
|
|
10
|
+
created: Creato
|
|
11
|
+
description: Descrizione
|
|
12
|
+
jobs: Lavori
|
|
13
|
+
progress: Progresso
|
|
14
|
+
status: Stato
|
|
15
|
+
title: Lotti
|
|
16
|
+
show:
|
|
17
|
+
back: Torna ai lotti
|
|
18
|
+
batch_id: ID lotto
|
|
19
|
+
completed: Completati
|
|
20
|
+
created_at: Creato il
|
|
21
|
+
details: Dettagli
|
|
22
|
+
discarded: Scartati
|
|
23
|
+
finished_at: Terminato il
|
|
24
|
+
not_found: Lotto non trovato
|
|
25
|
+
on_discard: Allo scarto
|
|
26
|
+
on_finish: Al termine
|
|
27
|
+
on_success: Al successo
|
|
28
|
+
progress: Progresso
|
|
29
|
+
properties: Proprietà
|
|
30
|
+
remaining: Rimanenti
|
|
31
|
+
title: Lotto
|
|
32
|
+
total_jobs: Lavori totali
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: Nessun processo in esecuzione
|
|
@@ -189,6 +218,10 @@ it:
|
|
|
189
218
|
not_found: Evento non trovato
|
|
190
219
|
title: Evento %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: Terminato
|
|
223
|
+
pending: In sospeso
|
|
224
|
+
processing: In elaborazione
|
|
192
225
|
bulk_select_all: Seleziona tutto
|
|
193
226
|
bulk_select_row: Seleziona %{id}
|
|
194
227
|
bulk_selected: selezionato
|
|
@@ -346,6 +379,7 @@ it:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: Lotti
|
|
349
383
|
dashboard: Cruscotto
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: Eventi
|
data/config/locales/ja.yml
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
ja:
|
|
3
3
|
pgbus:
|
|
4
|
+
batches:
|
|
5
|
+
index:
|
|
6
|
+
description: 進捗追跡とコールバック付きのジョブバッチ
|
|
7
|
+
empty: バッチが見つかりません
|
|
8
|
+
headers:
|
|
9
|
+
batch_id: バッチID
|
|
10
|
+
created: 作成日
|
|
11
|
+
description: 説明
|
|
12
|
+
jobs: ジョブ
|
|
13
|
+
progress: 進捗
|
|
14
|
+
status: ステータス
|
|
15
|
+
title: バッチ
|
|
16
|
+
show:
|
|
17
|
+
back: バッチに戻る
|
|
18
|
+
batch_id: バッチID
|
|
19
|
+
completed: 完了
|
|
20
|
+
created_at: 作成日時
|
|
21
|
+
details: 詳細
|
|
22
|
+
discarded: 破棄済み
|
|
23
|
+
finished_at: 完了日時
|
|
24
|
+
not_found: バッチが見つかりません
|
|
25
|
+
on_discard: 破棄時
|
|
26
|
+
on_finish: 完了時
|
|
27
|
+
on_success: 成功時
|
|
28
|
+
progress: 進捗
|
|
29
|
+
properties: プロパティ
|
|
30
|
+
remaining: 残り
|
|
31
|
+
title: バッチ
|
|
32
|
+
total_jobs: 合計ジョブ数
|
|
4
33
|
dashboard:
|
|
5
34
|
processes_table:
|
|
6
35
|
empty: 実行中のプロセスはありません
|
|
@@ -189,6 +218,10 @@ ja:
|
|
|
189
218
|
not_found: イベントが見つかりません
|
|
190
219
|
title: イベント %{event_id}
|
|
191
220
|
helpers:
|
|
221
|
+
batch_status:
|
|
222
|
+
finished: 完了
|
|
223
|
+
pending: 保留中
|
|
224
|
+
processing: 処理中
|
|
192
225
|
bulk_select_all: すべて選択
|
|
193
226
|
bulk_select_row: "%{id}を選択"
|
|
194
227
|
bulk_selected: 選択済み
|
|
@@ -346,6 +379,7 @@ ja:
|
|
|
346
379
|
layout:
|
|
347
380
|
brand: Pgbus
|
|
348
381
|
nav:
|
|
382
|
+
batches: バッチ
|
|
349
383
|
dashboard: ダッシュボード
|
|
350
384
|
dlq: DLQ
|
|
351
385
|
events: イベント
|