pgbus 0.17.1 → 0.17.2
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/CHANGELOG.md +38 -0
- data/README.md +48 -13
- data/app/controllers/concerns/pgbus/job_listing.rb +37 -0
- data/app/controllers/concerns/pgbus/process_listing.rb +17 -0
- data/app/controllers/pgbus/application_controller.rb +5 -2
- data/app/controllers/pgbus/batches_controller.rb +4 -1
- data/app/controllers/pgbus/dashboard_controller.rb +20 -6
- data/app/controllers/pgbus/dead_letter_controller.rb +27 -3
- data/app/controllers/pgbus/events_controller.rb +52 -3
- data/app/controllers/pgbus/insights_controller.rb +19 -1
- data/app/controllers/pgbus/jobs_controller.rb +45 -26
- data/app/controllers/pgbus/locks_controller.rb +7 -2
- data/app/controllers/pgbus/outbox_controller.rb +4 -1
- data/app/controllers/pgbus/processes_controller.rb +3 -1
- data/app/controllers/pgbus/queues_controller.rb +16 -4
- data/app/controllers/pgbus/recurring_tasks_controller.rb +5 -7
- data/app/frontend/pgbus/modules/charts.js +119 -77
- data/app/frontend/pgbus/style.css +1 -1
- data/app/frontend/pgbus/tailwind.css +18 -0
- data/app/helpers/pgbus/application_helper.rb +155 -113
- data/app/helpers/pgbus/button_helper.rb +88 -0
- data/app/helpers/pgbus/dashboard_helper.rb +157 -0
- data/app/helpers/pgbus/events_helper.rb +40 -0
- data/app/helpers/pgbus/insights_helper.rb +39 -0
- data/app/helpers/pgbus/processes_helper.rb +79 -0
- data/app/views/pgbus/batches/_batches_table.html.erb +16 -13
- data/app/views/pgbus/batches/show.html.erb +3 -4
- data/app/views/pgbus/dashboard/_processes_table.html.erb +11 -11
- data/app/views/pgbus/dashboard/_queue_health.html.erb +42 -51
- data/app/views/pgbus/dashboard/_queues_table.html.erb +18 -16
- data/app/views/pgbus/dashboard/_recent_failures.html.erb +16 -12
- data/app/views/pgbus/dashboard/_stats_cards.html.erb +70 -36
- data/app/views/pgbus/dashboard/show.html.erb +1 -1
- data/app/views/pgbus/dead_letter/_error.html.erb +13 -0
- data/app/views/pgbus/dead_letter/_messages_table.html.erb +37 -96
- data/app/views/pgbus/dead_letter/_row.html.erb +75 -0
- data/app/views/pgbus/dead_letter/index.html.erb +6 -9
- data/app/views/pgbus/dead_letter/show.html.erb +37 -21
- data/app/views/pgbus/events/_list.html.erb +55 -0
- data/app/views/pgbus/events/_processed_table.html.erb +45 -0
- data/app/views/pgbus/events/_replay.html.erb +10 -0
- data/app/views/pgbus/events/_row.html.erb +162 -0
- data/app/views/pgbus/events/_tabs.html.erb +13 -0
- data/app/views/pgbus/events/index.html.erb +27 -48
- data/app/views/pgbus/events/show.html.erb +25 -7
- data/app/views/pgbus/insights/_chart_card.html.erb +21 -0
- data/app/views/pgbus/insights/_latency_table.html.erb +20 -0
- data/app/views/pgbus/insights/_status_table.html.erb +19 -0
- data/app/views/pgbus/insights/_throughput_table.html.erb +18 -0
- data/app/views/pgbus/insights/show.html.erb +83 -100
- data/app/views/pgbus/jobs/_list.html.erb +64 -0
- data/app/views/pgbus/jobs/_row.html.erb +107 -0
- data/app/views/pgbus/jobs/_tabs.html.erb +14 -0
- data/app/views/pgbus/jobs/index.html.erb +10 -10
- data/app/views/pgbus/jobs/show.html.erb +18 -20
- data/app/views/pgbus/locks/_concurrency.html.erb +25 -23
- data/app/views/pgbus/locks/_uniqueness.html.erb +20 -22
- data/app/views/pgbus/outbox/index.html.erb +30 -27
- data/app/views/pgbus/processes/_processes_table.html.erb +6 -25
- data/app/views/pgbus/processes/_row.html.erb +48 -0
- data/app/views/pgbus/processes/_status.html.erb +4 -0
- data/app/views/pgbus/queues/_queues_list.html.erb +28 -32
- data/app/views/pgbus/queues/show.html.erb +69 -118
- data/app/views/pgbus/recurring_tasks/_tasks_table.html.erb +75 -76
- data/app/views/pgbus/recurring_tasks/index.html.erb +1 -1
- data/app/views/pgbus/recurring_tasks/show.html.erb +45 -51
- data/app/views/pgbus/shared/_empty_row.html.erb +2 -0
- data/app/views/pgbus/shared/_pager.html.erb +34 -0
- data/config/i18n-tasks.yml +11 -2
- data/config/locales/da.yml +405 -113
- data/config/locales/de.yml +405 -113
- data/config/locales/en.yml +405 -113
- data/config/locales/es.yml +404 -112
- data/config/locales/fi.yml +404 -112
- data/config/locales/fr.yml +406 -114
- data/config/locales/it.yml +405 -113
- data/config/locales/ja.yml +405 -113
- data/config/locales/nb.yml +405 -113
- data/config/locales/nl.yml +405 -113
- data/config/locales/pt.yml +406 -114
- data/config/locales/sv.yml +404 -112
- data/lib/generators/pgbus/templates/initializer.rb.erb +4 -0
- data/lib/pgbus/active_job/executor.rb +16 -6
- data/lib/pgbus/cli/dlq.rb +32 -5
- data/lib/pgbus/client.rb +4 -2
- data/lib/pgbus/configuration.rb +47 -2
- data/lib/pgbus/dead_letter_header.rb +129 -0
- data/lib/pgbus/doctor.rb +8 -4
- data/lib/pgbus/event_bus/handler.rb +18 -11
- data/lib/pgbus/event_bus/registry.rb +6 -0
- data/lib/pgbus/failed_event_recorder.rb +34 -0
- data/lib/pgbus/instrumentation.rb +2 -1
- data/lib/pgbus/mcp/base_tool.rb +25 -0
- data/lib/pgbus/mcp/tools/concurrency_tool.rb +23 -4
- data/lib/pgbus/mcp/tools/dlq_detail_tool.rb +4 -2
- data/lib/pgbus/mcp/tools/dlq_tool.rb +10 -4
- data/lib/pgbus/mcp/tools/locks_tool.rb +23 -5
- data/lib/pgbus/mcp/tools/recurring_tool.rb +33 -4
- data/lib/pgbus/outbox/poller.rb +1 -1
- data/lib/pgbus/process/consumer.rb +53 -3
- data/lib/pgbus/process/dispatcher.rb +1 -1
- data/lib/pgbus/process/supervisor.rb +32 -11
- data/lib/pgbus/process/worker.rb +45 -8
- data/lib/pgbus/recurring/scheduler.rb +2 -1
- data/lib/pgbus/version.rb +1 -1
- data/lib/pgbus/web/data_source/dashboard_signals.rb +170 -0
- data/lib/pgbus/web/data_source/dead_letter.rb +142 -0
- data/lib/pgbus/web/data_source/event_list.rb +161 -0
- data/lib/pgbus/web/data_source/job_list.rb +323 -0
- data/lib/pgbus/web/data_source/list_counts.rb +80 -0
- data/lib/pgbus/web/data_source/process_list.rb +69 -0
- data/lib/pgbus/web/data_source/queue_summary.rb +122 -0
- data/lib/pgbus/web/data_source.rb +132 -254
- data/lib/pgbus/web/dead_letter_reason.rb +81 -0
- data/lib/pgbus/web/event_state.rb +71 -0
- data/lib/pgbus/web/health_app.rb +7 -3
- data/lib/pgbus/web/health_verdict.rb +78 -0
- data/lib/pgbus/web/insights_charts.rb +84 -0
- data/lib/pgbus/web/job_state.rb +111 -0
- data/lib/pgbus/web/process_activity.rb +97 -0
- data/lib/pgbus/web/process_state.rb +187 -0
- data/lib/pgbus/web/queue_summary.rb +104 -0
- data/lib/pgbus/web/time_format.rb +128 -0
- metadata +43 -4
- data/app/views/pgbus/events/_pending_table.html.erb +0 -169
- data/app/views/pgbus/jobs/_enqueued_table.html.erb +0 -118
- data/app/views/pgbus/jobs/_failed_table.html.erb +0 -76
data/config/locales/de.yml
CHANGED
|
@@ -41,6 +41,7 @@ de:
|
|
|
41
41
|
title: Aktive Prozesse
|
|
42
42
|
queue_health:
|
|
43
43
|
dead_tuples: Tote Tupel
|
|
44
|
+
empty: Noch keine Queue-Tabellen zu messen
|
|
44
45
|
headers:
|
|
45
46
|
bloat: Bloat
|
|
46
47
|
dead: Tot
|
|
@@ -60,14 +61,34 @@ de:
|
|
|
60
61
|
one: "%{count} Tabelle benötigt Vacuum"
|
|
61
62
|
other: "%{count} Tabellen benötigen Vacuum"
|
|
62
63
|
title: Warteschlangen-Gesundheit
|
|
64
|
+
words:
|
|
65
|
+
bloat:
|
|
66
|
+
critical: "%{ratio} bei %{table} — Lesezugriffe werden langsamer; jetzt Vacuum ausführen (kritisch ab %{critical}, Warnung ab %{warn})"
|
|
67
|
+
none: Noch nichts zu messen
|
|
68
|
+
ok: "%{ratio} bei %{table} — in Ordnung (Warnung ab %{warn}, kritisch ab %{critical})"
|
|
69
|
+
warn: "%{ratio} bei %{table} — Vacuum fällig (Warnung ab %{warn}, kritisch ab %{critical})"
|
|
70
|
+
dead_tuples:
|
|
71
|
+
ok: In Ordnung — Warnung ab %{limit} toten Zeilen
|
|
72
|
+
warn: Über %{limit} — Autovacuum hinkt hinterher; die Tabelle unten zeigt, wo
|
|
73
|
+
transaction:
|
|
74
|
+
critical: Über %{critical} — Vacuum kann keine Zeilen freigeben, bis sie endet; finde sie in pg_stat_activity (Warnung bei %{warn}; die Zustandsbewertung wird nach %{verdict} schlechter)
|
|
75
|
+
none: Keine offene Transaktion — Vacuum kann alle toten Zeilen freigeben (Warnung bei %{warn}, Alarm bei %{critical}; die Zustandsbewertung wird nach %{verdict} schlechter)
|
|
76
|
+
ok: In Ordnung — Warnung bei %{warn}, Alarm bei %{critical}; die Zustandsbewertung wird nach %{verdict} schlechter
|
|
77
|
+
warn: Über %{warn} — eine lange Transaktion hindert Vacuum daran, Zeilen freizugeben (Alarm bei %{critical}; die Zustandsbewertung wird nach %{verdict} schlechter)
|
|
78
|
+
vacuum:
|
|
79
|
+
critical: Über %{critical} — Autovacuum erreicht diese Tabellen nicht; prüfe seine Einstellungen (Warnung nach %{warn})
|
|
80
|
+
ok: In Ordnung — Warnung nach %{warn}, kritisch nach %{critical}
|
|
81
|
+
unknown: Nie vacuumiert, oder die Statistiken sind nicht verfügbar
|
|
82
|
+
warn: Über %{warn} — Autovacuum kommt möglicherweise nicht hinterher (kritisch nach %{critical})
|
|
63
83
|
worst_bloat: Schlimmster Bloat
|
|
64
84
|
queues_table:
|
|
65
85
|
empty: Keine Warteschlangen gefunden
|
|
66
86
|
headers:
|
|
67
87
|
depth: Tiefe
|
|
68
|
-
oldest_claimable: Älteste verfügbar
|
|
88
|
+
oldest_claimable: Älteste verfügbar
|
|
69
89
|
parked: Geparkt
|
|
70
90
|
queue: Warteschlange
|
|
91
|
+
status: Status
|
|
71
92
|
total: Gesamt
|
|
72
93
|
visible: Sichtbar
|
|
73
94
|
title: Warteschlangen
|
|
@@ -75,7 +96,9 @@ de:
|
|
|
75
96
|
recent_failures:
|
|
76
97
|
empty: Keine Fehler
|
|
77
98
|
headers:
|
|
99
|
+
attempt: Versuch
|
|
78
100
|
error: Fehler
|
|
101
|
+
job: Job
|
|
79
102
|
queue: Warteschlange
|
|
80
103
|
when: Wann
|
|
81
104
|
title: Kürzliche Fehler
|
|
@@ -83,19 +106,72 @@ de:
|
|
|
83
106
|
show:
|
|
84
107
|
title: Dashboard
|
|
85
108
|
stats_cards:
|
|
109
|
+
dead_lettered: Dead-lettered
|
|
110
|
+
dlq_newest_html: 'neuester: %{error_class} in %{job} %{ago}'
|
|
111
|
+
dlq_newest_legacy_html: 'neuester: %{job} %{ago} — kein Grund erfasst'
|
|
112
|
+
dlq_newest_no_error_html: 'neuester: %{job} %{ago} — kein Fehler erfasst'
|
|
113
|
+
dlq_none: Nichts ist dead-lettered
|
|
114
|
+
dlq_see_why: öffne die Dead-Letter-Seite, um zu sehen, warum jeder gestorben ist
|
|
86
115
|
enqueued: Eingereiht
|
|
87
|
-
|
|
88
|
-
|
|
116
|
+
enqueued_detail: "%{claimable} jetzt abholbar · %{waiting} geplant, laufend oder in Wiederholung"
|
|
117
|
+
enqueued_paused:
|
|
118
|
+
one: "%{count} in pausierten Warteschlangen"
|
|
119
|
+
other: "%{count} in pausierten Warteschlangen"
|
|
89
120
|
parked_jobs: Geparkte Jobs
|
|
90
121
|
parked_jobs_oldest: ältester %{age}
|
|
91
122
|
processes: Prozesse
|
|
123
|
+
processes_detail: "%{healthy} gesund · %{stalled} hängend · %{stale} veraltet"
|
|
124
|
+
processes_none: Nichts läuft — kein Job wird abgeholt
|
|
125
|
+
processes_stale: veraltete Prozesse senden keine Heartbeats mehr; ihre laufenden Jobs werden erneut ausgeführt, wenn ihr Visibility Timeout abläuft
|
|
92
126
|
queues: Warteschlangen
|
|
127
|
+
queues_detail: "%{paused} pausiert · %{dlq} Dead Letter"
|
|
128
|
+
queues_undrained:
|
|
129
|
+
one: "%{count} enthält Jobs, die niemand abarbeitet"
|
|
130
|
+
other: "%{count} enthalten Jobs, die niemand abarbeitet"
|
|
93
131
|
recurring: Wiederkehrend
|
|
132
|
+
recurring_detail: Aufgaben, die der Scheduler nach Zeitplan einreiht
|
|
133
|
+
retrying: Wiederholung
|
|
134
|
+
retrying_due:
|
|
135
|
+
one: "%{count} jetzt fällig"
|
|
136
|
+
other: "%{count} jetzt fällig"
|
|
137
|
+
retrying_newest: neuester Fehler %{error_class}
|
|
138
|
+
retrying_next_html: nächster Versuch %{time}
|
|
139
|
+
retrying_none: Nichts wird wiederholt
|
|
94
140
|
throughput: Durchsatz
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
141
|
+
throughput_detail: Aufträge/Min in den letzten %{minutes} Min
|
|
142
|
+
throughput_unavailable: benötigt Job-Statistiken (rails g pgbus:add_job_stats)
|
|
143
|
+
verdict:
|
|
144
|
+
links:
|
|
145
|
+
dlq: Dead Letters
|
|
146
|
+
processes: Prozesse
|
|
147
|
+
look_at: 'Siehe:'
|
|
148
|
+
meaning:
|
|
149
|
+
degraded: Etwas braucht Aufmerksamkeit, aber Jobs laufen weiter. /readyz antwortet weiterhin bereit.
|
|
150
|
+
ok: Jede Warteschlange mit Arbeit wird abgearbeitet, und jeder Prozess sendet Heartbeats. /readyz antwortet bereit.
|
|
151
|
+
stalled: Jobs warten, und niemand holt sie ab. /readyz antwortet nicht bereit (503).
|
|
152
|
+
statuses:
|
|
153
|
+
degraded: DEGRADED
|
|
154
|
+
ok: OK
|
|
155
|
+
stalled: STALLED
|
|
156
|
+
title: 'Zustand: %{status}'
|
|
157
|
+
unavailable: Zustandsbewertung nicht verfügbar — die zugrunde liegenden Prüfungen konnten nicht gelesen werden; siehe Log
|
|
98
158
|
dead_letter:
|
|
159
|
+
detail:
|
|
160
|
+
backtrace: Backtrace (erste Zeilen)
|
|
161
|
+
died: 'Gestorben:'
|
|
162
|
+
dlq: 'Dead-Letter-Queue:'
|
|
163
|
+
error_from_attempt: Fehler aus Versuch %{attempt}; Versuche %{from}–%{to} haben keinen Fehler erfasst.
|
|
164
|
+
source: 'Verschoben von:'
|
|
165
|
+
sources:
|
|
166
|
+
consumer: Event-Consumer
|
|
167
|
+
worker: Job-Worker
|
|
168
|
+
why: Warum er gestorben ist
|
|
169
|
+
filters:
|
|
170
|
+
all: Alle
|
|
171
|
+
clear_error_class: Filter entfernen
|
|
172
|
+
error_class: 'Fehler: %{error_class}'
|
|
173
|
+
filter_error_class: Nur %{error_class} anzeigen
|
|
174
|
+
label: Dead Letters filtern
|
|
99
175
|
index:
|
|
100
176
|
discard_all: Alle verwerfen
|
|
101
177
|
discard_all_confirm: Alle DLQ-Nachrichten dauerhaft verwerfen?
|
|
@@ -115,11 +191,13 @@ de:
|
|
|
115
191
|
empty: Dead Letter Queue ist leer
|
|
116
192
|
full_json_payload: Vollständige JSON-Nutzlast
|
|
117
193
|
headers:
|
|
118
|
-
|
|
194
|
+
actions: Aktionen
|
|
195
|
+
attempts: Versuche
|
|
196
|
+
died: Gestorben
|
|
119
197
|
id: ID
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
source_queue:
|
|
198
|
+
job: Job
|
|
199
|
+
reason: Grund
|
|
200
|
+
source_queue: Quell-Queue
|
|
123
201
|
headers_section: Header
|
|
124
202
|
job_id: 'Job-ID:'
|
|
125
203
|
metadata: Metadaten
|
|
@@ -131,6 +209,16 @@ de:
|
|
|
131
209
|
visible_at: 'Sichtbar um:'
|
|
132
210
|
retry: Erneut versuchen
|
|
133
211
|
total_label: Nachrichten in der Dead-Letter-Warteschlange
|
|
212
|
+
view: Ansehen
|
|
213
|
+
reasons:
|
|
214
|
+
error_earlier_attempt_html: 'Wiederholungen ausgeschöpft. Letzter erfasster Fehler, aus Versuch %{error_attempt}: %{error_class}: %{error_message}'
|
|
215
|
+
error_html: 'Wiederholungen ausgeschöpft. Letzter Fehler: %{error_class}: %{error_message}'
|
|
216
|
+
event_no_error_html: Handler ist bei %{attempts} Zustellungen gescheitert (max. %{max}) — kein Handler-Fehler erfasst
|
|
217
|
+
no_error_recorded_html: "%{max} Wiederholungen nach %{attempts} Lesevorgängen überschritten — kein Fehler erfasst; jeder fehlgeschlagene Versuch ist abgestürzt, bevor er berichten konnte"
|
|
218
|
+
not_recorded_html: Grund nicht erfasst (vor pgbus %{version} in die DLQ verschoben)
|
|
219
|
+
retried_before:
|
|
220
|
+
one: Schon einmal aus der DLQ wiederholt.
|
|
221
|
+
other: Schon %{count}-mal aus der DLQ wiederholt.
|
|
134
222
|
show:
|
|
135
223
|
back: Zurück zur DLQ
|
|
136
224
|
context: Kontext
|
|
@@ -138,8 +226,10 @@ de:
|
|
|
138
226
|
discard_confirm: Dauerhaft verwerfen?
|
|
139
227
|
headers: Header
|
|
140
228
|
labels:
|
|
229
|
+
attempts: Versuche
|
|
230
|
+
died: Gestorben
|
|
231
|
+
dlq: Dead-Letter-Queue
|
|
141
232
|
enqueued_at: Eingereiht am
|
|
142
|
-
read_count: Anzahl der Lesevorgänge
|
|
143
233
|
source_queue: Quellwarteschlange
|
|
144
234
|
visibility_timeout: Sichtbarkeits-Timeout
|
|
145
235
|
not_found: Nachricht nicht gefunden
|
|
@@ -163,6 +253,7 @@ de:
|
|
|
163
253
|
mark_handled_failed: Ereignis konnte nicht als bearbeitet markiert werden.
|
|
164
254
|
marked_handled: Ereignis als bearbeitet markiert.
|
|
165
255
|
none_selected: Keine Ereignisse ausgewählt.
|
|
256
|
+
payload_redacted: 'Nicht gespeichert: Die Nutzlast enthält noch geschwärzte ([FILTERED]) Werte, die die echten ersetzen würden.'
|
|
166
257
|
payload_update_failed: Nutzlast konnte nicht aktualisiert werden. Überprüfen Sie, ob das JSON gültig ist.
|
|
167
258
|
payload_updated: Nutzlast aktualisiert und Ereignis erneut in die Warteschlange gestellt.
|
|
168
259
|
replay_failed: Ereignis nicht gefunden oder konnte nicht erneut abgespielt werden.
|
|
@@ -170,56 +261,118 @@ de:
|
|
|
170
261
|
reroute_failed: Ereignis konnte nicht umgeleitet werden.
|
|
171
262
|
rerouted: Ereignis an Ziel-Handler umgeleitet.
|
|
172
263
|
index:
|
|
173
|
-
discard_selected: Ausgewählte verwerfen
|
|
174
|
-
discard_selected_confirm: Ausgewählte Ereignisse verwerfen?
|
|
175
|
-
pending_empty: Keine ausstehenden Ereignisse
|
|
176
|
-
pending_headers:
|
|
177
|
-
enqueued: In die Warteschlange gestellt
|
|
178
|
-
handler_queue: Handler-Warteschlange
|
|
179
|
-
id: ID
|
|
180
|
-
reads: Lesevorgänge
|
|
181
|
-
routing_key: Routing-Schlüssel
|
|
182
264
|
pending_title: Ausstehende Ereignisse
|
|
183
|
-
processed_empty: Noch keine Ereignisse verarbeitet
|
|
184
|
-
processed_headers:
|
|
185
|
-
event_id: Ereignis-ID
|
|
186
|
-
handler: Handler
|
|
187
|
-
processed_at: Verarbeitet am
|
|
188
265
|
processed_title: Verarbeitete Ereignisse
|
|
266
|
+
subscribers:
|
|
267
|
+
covered: Von einem laufenden Consumer abgearbeitet
|
|
268
|
+
uncovered: Kein laufender Consumer deckt dieses Muster ab
|
|
269
|
+
unknown: Consumer-Abdeckung unbekannt
|
|
270
|
+
view_pending: Ausstehende anzeigen
|
|
189
271
|
subscribers_empty: Keine Abonnenten registriert
|
|
190
272
|
subscribers_headers:
|
|
273
|
+
consumer: Consumer
|
|
191
274
|
handler: Handler
|
|
192
275
|
pattern: Muster
|
|
276
|
+
pending: Ausstehend
|
|
193
277
|
queue: Warteschlange
|
|
194
278
|
subscribers_title: Registrierte Abonnenten
|
|
195
279
|
title: Ereignisse
|
|
196
|
-
|
|
197
|
-
arguments: Nutzlast
|
|
280
|
+
list:
|
|
198
281
|
context: Kontext
|
|
199
282
|
discard: Verwerfen
|
|
200
283
|
discard_confirm: Dieses Ereignis verwerfen? Es wird archiviert.
|
|
284
|
+
discard_failure_confirm: Dieses fehlgeschlagene Ereignis verwerfen? Seine Nachricht ist nicht mehr in der Warteschlange.
|
|
285
|
+
discard_selected: Ausgewählte verwerfen
|
|
286
|
+
discard_selected_confirm: Ausgewählte Ereignisse verwerfen?
|
|
201
287
|
edit_payload: Bearbeiten & erneut versuchen
|
|
202
288
|
edit_payload_confirm: Nutzlast aktualisieren und dieses Ereignis erneut in die Warteschlange stellen?
|
|
203
289
|
edit_payload_label: 'JSON-Nutzlast:'
|
|
290
|
+
empty:
|
|
291
|
+
all: Keine ausstehenden Ereignisse
|
|
292
|
+
ready: Keine Ereignisse warten auf Verarbeitung
|
|
293
|
+
retrying: Keine Ereignisse warten auf einen neuen Versuch
|
|
294
|
+
running: Keine Ereignisse in Verarbeitung
|
|
295
|
+
scheduled: Keine geplanten Ereignisse
|
|
204
296
|
event_id: 'Ereignis-ID:'
|
|
205
297
|
full_json_payload: Vollständige JSON-Nutzlast
|
|
298
|
+
headers:
|
|
299
|
+
actions: Aktionen
|
|
300
|
+
attempts: Versuche
|
|
301
|
+
event: Ereignis
|
|
302
|
+
handler: Handler
|
|
303
|
+
id: ID
|
|
304
|
+
reason: Nächster Lauf / Grund
|
|
305
|
+
state: Zustand
|
|
206
306
|
headers_section: Header
|
|
207
307
|
mark_handled: Als bearbeitet markieren
|
|
208
|
-
mark_handled_confirm: Dieses Ereignis als
|
|
308
|
+
mark_handled_confirm: Dieses Ereignis als verarbeitet markieren? Die Nachricht wird archiviert und der Handler führt sie nicht aus.
|
|
209
309
|
metadata: Metadaten
|
|
210
310
|
metadata_labels:
|
|
311
|
+
enqueued: 'Eingereiht:'
|
|
211
312
|
last_read: 'Zuletzt gelesen:'
|
|
313
|
+
published: 'Veröffentlicht:'
|
|
212
314
|
read_count: 'Leseanzahl:'
|
|
213
315
|
visible_at: 'Sichtbar ab:'
|
|
316
|
+
payload: Nutzlast
|
|
317
|
+
reasons:
|
|
318
|
+
handling_html: Wird von %{handler} verarbeitet — abgeholt %{ago} · Lease läuft ab %{time}
|
|
319
|
+
lease_expired_html: Lease abgelaufen (Consumer vermutlich abgestürzt) — wird erneut an %{handler} zugestellt, Versuch %{attempt}
|
|
320
|
+
no_consumer_for_queue_html: Kein laufender Consumer abonniert %{pattern} (%{handler})
|
|
321
|
+
no_consumers_html: Kein gesunder Consumer läuft
|
|
322
|
+
orphaned_html: Fehlgeschlagen mit %{error} in %{handler} — Nachricht nicht mehr in der Warteschlange
|
|
323
|
+
paused_html: Warteschlange pausiert
|
|
324
|
+
retrying_dlq_html: "%{handler} Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — der nächste Lesevorgang verschiebt es in die DLQ"
|
|
325
|
+
retrying_due_html: "%{handler} Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — nächster Versuch jetzt fällig"
|
|
326
|
+
retrying_html: "%{handler} Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — nächster Versuch %{time}"
|
|
327
|
+
scheduled_html: Geplant — wird von %{handler} verarbeitet %{time}
|
|
328
|
+
waiting_html: 'Wartet — %{count} davor · als Nächstes: %{handler}'
|
|
329
|
+
waiting_unknown_html: Wartet auf %{handler}
|
|
214
330
|
reroute: Umleiten
|
|
215
331
|
reroute_confirm: Dieses Ereignis an einen anderen Handler umleiten?
|
|
216
332
|
reroute_label: 'Ziel-Handler:'
|
|
333
|
+
states:
|
|
334
|
+
ready: Bereit
|
|
335
|
+
retrying: Wiederholung
|
|
336
|
+
running: In Verarbeitung
|
|
337
|
+
scheduled: Geplant
|
|
338
|
+
tabs:
|
|
339
|
+
all: Alle
|
|
340
|
+
ready: Bereit
|
|
341
|
+
retrying: Wiederholung
|
|
342
|
+
running: In Verarbeitung
|
|
343
|
+
scheduled: Geplant
|
|
344
|
+
tabs_label: Ereigniszustände
|
|
345
|
+
view_failure: Fehler anzeigen
|
|
346
|
+
processed:
|
|
347
|
+
empty: Noch keine Ereignisse verarbeitet
|
|
348
|
+
headers:
|
|
349
|
+
actions: Aktionen
|
|
350
|
+
event_id: Ereignis-ID
|
|
351
|
+
handler: Handler
|
|
352
|
+
reason: Grund
|
|
353
|
+
state: Zustand
|
|
354
|
+
reasons:
|
|
355
|
+
abandoned_html: Claim verstummt %{ago} — die nächste Zustellung führt den Handler erneut aus
|
|
356
|
+
completed_html: Abgeschlossen %{ago}
|
|
357
|
+
completed_legacy_html: Erfasst %{ago} (einphasiger Claim; Upgrade mit pgbus:add_processed_event_completion)
|
|
358
|
+
handling_html: In Verarbeitung — Claim aufgefrischt %{ago}
|
|
359
|
+
replay: Erneut abspielen
|
|
360
|
+
replay_confirm: Dieses Ereignis unter einer neuen Ereignis-ID erneut an seinen Handler zustellen? Der Handler läuft erneut.
|
|
361
|
+
replay_unavailable:
|
|
362
|
+
no_handler: Handler nicht mehr registriert
|
|
363
|
+
not_archived: Nicht mehr im Archiv
|
|
364
|
+
states:
|
|
365
|
+
abandoned: Verstummt
|
|
366
|
+
completed: Abgeschlossen
|
|
367
|
+
handling: In Verarbeitung
|
|
217
368
|
show:
|
|
218
369
|
back: Zurück zu Ereignissen
|
|
219
370
|
labels:
|
|
371
|
+
completed_at: Abgeschlossen am
|
|
220
372
|
event_id: Ereignis-ID
|
|
221
373
|
handler: Handler
|
|
222
374
|
processed_at: Verarbeitet am
|
|
375
|
+
state: Status
|
|
223
376
|
not_found: Ereignis nicht gefunden
|
|
224
377
|
title: Ereignis %{event_id}
|
|
225
378
|
helpers:
|
|
@@ -231,6 +384,7 @@ de:
|
|
|
231
384
|
bulk_select_row: "%{id} auswählen"
|
|
232
385
|
bulk_selected: ausgewählt
|
|
233
386
|
pagination:
|
|
387
|
+
label: Seitennavigation
|
|
234
388
|
next: Weiter
|
|
235
389
|
previous: Zurück
|
|
236
390
|
showing: Zeige %{from}–%{to} von %{total}
|
|
@@ -245,24 +399,50 @@ de:
|
|
|
245
399
|
healthy: Gesund
|
|
246
400
|
stale: Veraltet
|
|
247
401
|
stalled: Blockiert
|
|
402
|
+
time:
|
|
403
|
+
absolute_format: "%Y-%m-%d %H:%M:%S %Z"
|
|
404
|
+
clock_format: "%H:%M"
|
|
405
|
+
future: in %{distance}
|
|
406
|
+
now: jetzt
|
|
407
|
+
past: vor %{distance}
|
|
408
|
+
range:
|
|
409
|
+
days:
|
|
410
|
+
one: "%{count} Tag"
|
|
411
|
+
other: "%{count} Tage"
|
|
412
|
+
hours:
|
|
413
|
+
one: "%{count} Stunde"
|
|
414
|
+
other: "%{count} Stunden"
|
|
415
|
+
minutes:
|
|
416
|
+
one: "%{count} Minute"
|
|
417
|
+
other: "%{count} Minuten"
|
|
418
|
+
units:
|
|
419
|
+
days: "%{count}T"
|
|
420
|
+
hours: "%{count}h"
|
|
421
|
+
milliseconds: "%{count}ms"
|
|
422
|
+
minutes: "%{count}m"
|
|
423
|
+
seconds: "%{count}s"
|
|
248
424
|
insights:
|
|
249
425
|
show:
|
|
250
426
|
charts:
|
|
251
|
-
|
|
252
|
-
|
|
427
|
+
captions:
|
|
428
|
+
latency: Jobs warteten durchschnittlich %{avg}, bevor ein Worker sie übernahm, p95 %{p95}
|
|
429
|
+
status: "%{success} erfolgreich, %{failed} fehlgeschlagen, %{dead_lettered} dead-lettered"
|
|
430
|
+
throughput_html: "%{total} Aufträge in den letzten %{range}, Spitze %{peak} Aufträge/Min %{at}"
|
|
431
|
+
data_table: Datentabelle
|
|
432
|
+
latency: Warteschlangenlatenz
|
|
253
433
|
latency_avg: Durchschnitt
|
|
254
434
|
latency_p95: P95
|
|
255
435
|
no_data: Noch keine Daten
|
|
256
436
|
series_name: Aufträge/Min
|
|
257
437
|
status_distribution: Statusverteilung
|
|
258
|
-
throughput: Durchsatz
|
|
438
|
+
throughput: Durchsatz
|
|
259
439
|
description_html: Leistungskennzahlen für die letzten %{range}
|
|
260
440
|
latency_by_queue:
|
|
261
441
|
empty: Noch keine Latenzdaten vorhanden
|
|
262
442
|
headers:
|
|
263
|
-
avg: Durchschnitt
|
|
443
|
+
avg: Durchschnitt
|
|
264
444
|
count: Anzahl
|
|
265
|
-
p95: P95
|
|
445
|
+
p95: P95
|
|
266
446
|
queue: Warteschlange
|
|
267
447
|
title: Latenz nach Warteschlange
|
|
268
448
|
live_streams:
|
|
@@ -282,6 +462,10 @@ de:
|
|
|
282
462
|
job_class: Job-Klasse
|
|
283
463
|
max: Max
|
|
284
464
|
title: Langsamste Job-Klassen (durchschnittliche Dauer)
|
|
465
|
+
statuses:
|
|
466
|
+
dead_lettered: Dead-lettered
|
|
467
|
+
failed: Fehlgeschlagen
|
|
468
|
+
success: Erfolgreich
|
|
285
469
|
streams:
|
|
286
470
|
summary:
|
|
287
471
|
active: Aktiv
|
|
@@ -310,6 +494,20 @@ de:
|
|
|
310
494
|
p99_latency: P99 Latenz
|
|
311
495
|
succeeded: Erfolgreich
|
|
312
496
|
total_jobs: Gesamtanzahl der Jobs
|
|
497
|
+
tables:
|
|
498
|
+
captions:
|
|
499
|
+
latency_minute: Warteschlangenlatenz pro Minute
|
|
500
|
+
latency_step: Warteschlangenlatenz pro %{step}
|
|
501
|
+
status: Aufträge nach Endstatus
|
|
502
|
+
throughput_minute: Aufträge pro Minute
|
|
503
|
+
throughput_step: Aufträge pro %{step}
|
|
504
|
+
headers:
|
|
505
|
+
avg: Durchschnitt
|
|
506
|
+
from: Von
|
|
507
|
+
highest_p95: Höchster p95
|
|
508
|
+
jobs: Aufträge
|
|
509
|
+
share: Anteil
|
|
510
|
+
status: Status
|
|
313
511
|
time_ranges:
|
|
314
512
|
1h: 1h
|
|
315
513
|
24h: 24h
|
|
@@ -317,60 +515,87 @@ de:
|
|
|
317
515
|
7d: 7d
|
|
318
516
|
title: Einblicke
|
|
319
517
|
jobs:
|
|
320
|
-
|
|
518
|
+
index:
|
|
519
|
+
discard_all: Alle verwerfen
|
|
520
|
+
discard_all_confirm: Alle fehlgeschlagenen Jobs verwerfen?
|
|
521
|
+
discard_all_enqueued_notice: "%{count} eingereihte Jobs verworfen und Sperren freigegeben."
|
|
522
|
+
discard_selected: Ausgewählte verwerfen
|
|
523
|
+
discard_selected_confirm: Ausgewählte Elemente verwerfen?
|
|
524
|
+
discarded_selected:
|
|
525
|
+
one: 1 ausgewähltes Element verworfen.
|
|
526
|
+
other: "%{count} ausgewählte Elemente verworfen."
|
|
527
|
+
none_selected: Keine Elemente ausgewählt.
|
|
528
|
+
retry_all: Alle wiederholen
|
|
529
|
+
retry_all_confirm: Alle fehlgeschlagenen Jobs wiederholen?
|
|
530
|
+
title: Jobs
|
|
531
|
+
list:
|
|
321
532
|
arguments: Argumente
|
|
322
533
|
discard: Verwerfen
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
discard_confirm:
|
|
326
|
-
empty:
|
|
534
|
+
discard_all_enqueued: Alle eingereihten verwerfen
|
|
535
|
+
discard_all_enqueued_confirm: Alle eingereihten Jobs verwerfen und ihre Sperren freigeben? Dies kann nicht rückgängig gemacht werden.
|
|
536
|
+
discard_confirm: Diesen Job verwerfen?
|
|
537
|
+
empty:
|
|
538
|
+
all: Keine Jobs
|
|
539
|
+
blocked: Keine durch ein Nebenläufigkeitslimit blockierten Jobs
|
|
540
|
+
ready: Keine Jobs warten auf Ausführung
|
|
541
|
+
retrying: Keine Jobs warten auf Wiederholung
|
|
542
|
+
running: Keine laufenden Jobs
|
|
543
|
+
scheduled: Keine geplanten Jobs
|
|
327
544
|
full_json_payload: Vollständige JSON-Nutzlast
|
|
328
545
|
headers:
|
|
329
|
-
|
|
546
|
+
actions: Aktionen
|
|
547
|
+
attempts: Versuche
|
|
330
548
|
id: ID
|
|
331
|
-
|
|
549
|
+
job: Job
|
|
332
550
|
queue: Warteschlange
|
|
333
|
-
|
|
551
|
+
reason: Nächster Lauf / Grund
|
|
552
|
+
state: Zustand
|
|
334
553
|
headers_section: Header
|
|
335
554
|
job_id: 'Job-ID:'
|
|
336
555
|
metadata: Metadaten
|
|
337
556
|
metadata_labels:
|
|
557
|
+
concurrency_key: 'Nebenläufigkeitsschlüssel:'
|
|
558
|
+
enqueued: 'Eingereiht:'
|
|
338
559
|
last_read: 'Letzter Lesevorgang:'
|
|
339
560
|
locale: 'Sprache:'
|
|
340
561
|
priority: 'Priorität:'
|
|
341
|
-
queue: 'Warteschlange:'
|
|
342
562
|
scheduled: 'Geplant:'
|
|
343
563
|
timezone: 'Zeitzone:'
|
|
344
564
|
visible_at: 'Sichtbar ab:'
|
|
565
|
+
reasons:
|
|
566
|
+
blocked_html: Wartet auf einen Nebenläufigkeits-Slot für %{key} (belegt %{held}/%{limit}) · geparkt %{ago}
|
|
567
|
+
blocked_no_slots_html: Wartet auf einen Nebenläufigkeits-Slot für %{key} · geparkt %{ago}
|
|
568
|
+
lease_expired_html: Lease abgelaufen (Worker vermutlich abgestürzt) — wird erneut zugestellt, Versuch %{attempt}
|
|
569
|
+
no_workers_html: Kein gesunder Worker läuft
|
|
570
|
+
not_drained_html: Kein Worker arbeitet diese Warteschlange ab
|
|
571
|
+
orphaned_html: Fehlgeschlagen mit %{error} — Nachricht nicht mehr in der Warteschlange
|
|
572
|
+
paused_html: Warteschlange pausiert
|
|
573
|
+
retrying_dlq_html: 'Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — der nächste Lesevorgang verschiebt ihn in die DLQ'
|
|
574
|
+
retrying_due_html: 'Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — nächster Versuch jetzt fällig'
|
|
575
|
+
retrying_html: 'Versuch %{attempt}/%{max} fehlgeschlagen: %{error} — nächster Versuch %{time}'
|
|
576
|
+
running_html: Abgeholt %{ago} · Lease läuft ab %{time}
|
|
577
|
+
scheduled_html: Geplant — läuft %{time}
|
|
578
|
+
waiting_html: Wartet — %{count} davor
|
|
579
|
+
waiting_priority_html: Wartet — %{count} davor mit dieser Priorität
|
|
580
|
+
waiting_unknown_html: Wartet auf Abholung
|
|
345
581
|
retry: Wiederholen
|
|
346
582
|
retry_confirm: Sichtbarkeits-Timeout zurücksetzen und erneut versuchen?
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
discard_all_confirm: Alle fehlgeschlagenen Jobs verwerfen?
|
|
364
|
-
discard_all_enqueued_notice: "%{count} eingereihte Jobs verworfen und Sperren freigegeben."
|
|
365
|
-
discard_selected: Ausgewählte verwerfen
|
|
366
|
-
discard_selected_confirm: Ausgewählte Elemente verwerfen?
|
|
367
|
-
discarded_selected:
|
|
368
|
-
one: 1 ausgewähltes Element verworfen.
|
|
369
|
-
other: "%{count} ausgewählte Elemente verworfen."
|
|
370
|
-
none_selected: Keine Elemente ausgewählt.
|
|
371
|
-
retry_all: Alle wiederholen
|
|
372
|
-
retry_all_confirm: Alle fehlgeschlagenen Jobs wiederholen?
|
|
373
|
-
title: Jobs
|
|
583
|
+
states:
|
|
584
|
+
blocked: Blockiert
|
|
585
|
+
ready: Bereit
|
|
586
|
+
retrying: Wiederholung
|
|
587
|
+
running: Läuft
|
|
588
|
+
scheduled: Geplant
|
|
589
|
+
tabs:
|
|
590
|
+
all: Alle
|
|
591
|
+
blocked: Blockiert
|
|
592
|
+
ready: Bereit
|
|
593
|
+
retrying: Wiederholung
|
|
594
|
+
running: Laufend
|
|
595
|
+
scheduled: Geplant
|
|
596
|
+
tabs_label: Job-Zustände
|
|
597
|
+
view_failure: Fehler anzeigen
|
|
598
|
+
view_locks: Sperren anzeigen
|
|
374
599
|
show:
|
|
375
600
|
back: Zurück zu Jobs
|
|
376
601
|
backtrace: Stacktrace
|
|
@@ -423,6 +648,7 @@ de:
|
|
|
423
648
|
other: Die %{count} hinter diesem Schlüssel geparkten Jobs verwerfen? Sie werden nie ausgeführt.
|
|
424
649
|
empty: Keine Nebenläufigkeitsschlüssel in Verwendung
|
|
425
650
|
headers:
|
|
651
|
+
actions: Aktionen
|
|
426
652
|
in_use: Belegt
|
|
427
653
|
key: Schlüssel
|
|
428
654
|
lease: Lease
|
|
@@ -456,6 +682,7 @@ de:
|
|
|
456
682
|
discard_selected_confirm: Ausgewählte Sperren verwerfen?
|
|
457
683
|
empty: Keine aktiven Sperren
|
|
458
684
|
headers:
|
|
685
|
+
actions: Aktionen
|
|
459
686
|
age: Alter
|
|
460
687
|
lock_key: Sperrschlüssel
|
|
461
688
|
msg_id: Nachrichten-ID
|
|
@@ -483,8 +710,6 @@ de:
|
|
|
483
710
|
pending: Ausstehend
|
|
484
711
|
published: Veröffentlicht
|
|
485
712
|
stats:
|
|
486
|
-
no_age: "—"
|
|
487
|
-
oldest_age: "%{seconds}s"
|
|
488
713
|
oldest_unpublished: Ältester unveröffentlichter
|
|
489
714
|
total: Gesamt
|
|
490
715
|
unpublished: Unveröffentlicht
|
|
@@ -493,18 +718,76 @@ de:
|
|
|
493
718
|
index:
|
|
494
719
|
title: Prozesse
|
|
495
720
|
processes_table:
|
|
721
|
+
capsule: Kapsel %{capsule} · Prozess %{process}
|
|
496
722
|
empty: Keine Prozesse laufen
|
|
497
723
|
headers:
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
pid: PID
|
|
724
|
+
activity: Aktivität
|
|
725
|
+
heartbeat: Heartbeat
|
|
726
|
+
process: Prozess
|
|
727
|
+
recycle: Recycling
|
|
503
728
|
status: Status
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
729
|
+
no_raw_metadata: Keine weiteren Metadaten
|
|
730
|
+
raw_metadata: Weitere Metadaten
|
|
731
|
+
started: Gestartet
|
|
732
|
+
under_supervisor: unter Supervisor %{pid}
|
|
733
|
+
uptime: läuft seit %{duration}
|
|
734
|
+
state:
|
|
735
|
+
activity:
|
|
736
|
+
buffered: "%{number} gepuffert"
|
|
737
|
+
busy_slots: "%{busy}/%{capacity} Slots belegt"
|
|
738
|
+
busy_threads: "%{busy}/%{capacity} Threads belegt"
|
|
739
|
+
consumes: Konsumiert %{topics}
|
|
740
|
+
drains: Arbeitet %{queues} ab
|
|
741
|
+
drains_all: Arbeitet alle Queues ab
|
|
742
|
+
failed_rate: "%{rate} fehlgeschlagen/s"
|
|
743
|
+
handled: "%{number} verarbeitet"
|
|
744
|
+
maintenance: Wartung alle %{interval} (geplante Jobs, verwaiste Prozesse, Archive)
|
|
745
|
+
outbox: Veröffentlicht Outbox-Einträge
|
|
746
|
+
rate: "%{rate} Jobs/s"
|
|
747
|
+
schedule:
|
|
748
|
+
one: Führt %{count} wiederkehrende Aufgabe aus, prüft alle %{interval}
|
|
749
|
+
other: Führt %{count} wiederkehrende Aufgaben aus, prüft alle %{interval}
|
|
750
|
+
slots:
|
|
751
|
+
one: "%{count} Slot"
|
|
752
|
+
other: "%{count} Slots"
|
|
753
|
+
supervises: Überwacht %{children}
|
|
754
|
+
supervises_none: Überwacht keine Prozesse auf diesem Host
|
|
755
|
+
threads:
|
|
756
|
+
one: "%{count} Thread"
|
|
757
|
+
other: "%{count} Threads"
|
|
758
|
+
kinds:
|
|
759
|
+
consumer:
|
|
760
|
+
one: "%{count} Consumer"
|
|
761
|
+
other: "%{count} Consumer"
|
|
762
|
+
dispatcher:
|
|
763
|
+
one: Dispatcher
|
|
764
|
+
other: "%{count} Dispatcher"
|
|
765
|
+
outbox_poller:
|
|
766
|
+
one: Outbox-Poller
|
|
767
|
+
other: "%{count} Outbox-Poller"
|
|
768
|
+
scheduler:
|
|
769
|
+
one: Scheduler
|
|
770
|
+
other: "%{count} Scheduler"
|
|
771
|
+
worker:
|
|
772
|
+
one: "%{count} Worker"
|
|
773
|
+
other: "%{count} Worker"
|
|
774
|
+
next:
|
|
775
|
+
stale_reaped: vermutlich tot; wird beim nächsten Durchlauf des Dispatchers entfernt (innerhalb von %{within})
|
|
776
|
+
stale_unreaped: vermutlich tot; kein laufender Dispatcher, der ihn entfernt
|
|
777
|
+
stalled_maintenance: geplante Jobs, Aufräumen verwaister Prozesse und Archivverdichtung kommen nicht voran
|
|
778
|
+
stalled_schedule: wiederkehrende Aufgaben werden nicht eingereiht
|
|
779
|
+
stalled_standalone: kein Supervisor, der ihn neu startet
|
|
780
|
+
stalled_supervised: der Watchdog des Supervisors startet ihn neu
|
|
781
|
+
reasons:
|
|
782
|
+
healthy_detection_off_html: Heartbeat %{ago} (Grenze %{limit}) · Hänger-Erkennung aus
|
|
783
|
+
healthy_heartbeat_html: Heartbeat %{ago} (Grenze %{limit})
|
|
784
|
+
healthy_loop_html: Schleife lief %{ago} (Grenze %{limit})
|
|
785
|
+
stale_html: Kein Heartbeat seit %{age} (Grenze %{limit})
|
|
786
|
+
stalled_html: Schleife lief zuletzt %{ago} (Grenze %{limit})
|
|
787
|
+
recycle:
|
|
788
|
+
jobs: "%{done} / %{limit} Jobs"
|
|
789
|
+
lifetime: läuft seit %{uptime} / %{limit}
|
|
790
|
+
memory: "%{used} / %{limit} MB"
|
|
508
791
|
queues:
|
|
509
792
|
destroy:
|
|
510
793
|
success: Warteschlange %{name} gelöscht.
|
|
@@ -517,59 +800,70 @@ de:
|
|
|
517
800
|
headers:
|
|
518
801
|
actions: Aktionen
|
|
519
802
|
depth: Tiefe
|
|
520
|
-
newest: Neueste
|
|
521
|
-
oldest_claimable: Älteste verfügbar
|
|
803
|
+
newest: Neueste
|
|
804
|
+
oldest_claimable: Älteste verfügbar
|
|
522
805
|
parked: Geparkt
|
|
523
806
|
queue: Warteschlange
|
|
524
807
|
total_ever: Insgesamt jemals
|
|
525
808
|
visible: Sichtbar
|
|
526
809
|
pause: Pause
|
|
527
810
|
pause_confirm: Verarbeitung für %{name} pausieren?
|
|
528
|
-
paused: Pausiert
|
|
529
811
|
purge: Bereinigen
|
|
530
812
|
purge_confirm: Alle Nachrichten von %{name} löschen?
|
|
531
813
|
resume: Fortsetzen
|
|
532
814
|
show:
|
|
533
|
-
arguments: Argumente
|
|
534
815
|
back: Zurück zu Warteschlangen
|
|
535
816
|
delete_confirm: Diese Warteschlange dauerhaft löschen? Dies kann nicht rückgängig gemacht werden.
|
|
536
817
|
delete_queue: Warteschlange löschen
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
full_json_payload: Vollständige JSON-Nutzlast
|
|
542
|
-
headers:
|
|
543
|
-
enqueued: Eingereiht
|
|
544
|
-
id: ID
|
|
545
|
-
job_class: Job-Klasse
|
|
546
|
-
reads: Lesevorgänge
|
|
547
|
-
vt: VT
|
|
548
|
-
headers_section: Header
|
|
549
|
-
job_id: 'Job-ID:'
|
|
818
|
+
dlq_link: Auf der Dead-Letter-Seite wiederholen oder verwerfen
|
|
819
|
+
dlq_pointer:
|
|
820
|
+
one: Dead-Letter-Queue für %{logical} — %{count} Nachricht.
|
|
821
|
+
other: Dead-Letter-Queue für %{logical} — %{count} Nachrichten.
|
|
550
822
|
message_discard_failed: Nachricht konnte nicht verworfen werden.
|
|
551
823
|
message_discarded: Nachricht verworfen.
|
|
552
824
|
message_retried: Sichtbarkeit der Nachricht zurückgesetzt.
|
|
553
825
|
message_retry_failed: Nachricht konnte nicht wiederholt werden.
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
visible_at: 'Sichtbar ab:'
|
|
563
|
-
oldest: 'Älteste:'
|
|
564
|
-
oldest_claimable: 'Älteste verfügbar:'
|
|
565
|
-
parked: 'Geparkt:'
|
|
826
|
+
metrics:
|
|
827
|
+
claimable: Jetzt abholbar
|
|
828
|
+
depth: Tiefe
|
|
829
|
+
oldest: Ältester
|
|
830
|
+
oldest_claimable: Ältester abholbar
|
|
831
|
+
parked: Geparkt
|
|
832
|
+
total: Gesamt bisher
|
|
833
|
+
other_levels: 'Andere Prioritätsstufen:'
|
|
566
834
|
pause: Pause
|
|
567
835
|
pause_confirm: Verarbeitung pausieren?
|
|
568
836
|
purge_confirm: Alle Nachrichten löschen?
|
|
569
837
|
purge_queue: Warteschlange bereinigen
|
|
570
838
|
resume: Fortsetzen
|
|
571
|
-
|
|
572
|
-
|
|
839
|
+
summary:
|
|
840
|
+
backlog_html: "%{visible} jetzt abholbar, ältester wartet seit %{age} · %{parked} geparkt (geplant oder in Wiederholung)"
|
|
841
|
+
backlog_parked_only_html: Nichts jetzt abholbar · %{parked} geparkt (geplant oder in Wiederholung)
|
|
842
|
+
dlq_html: 'Dead-Letter-Queue für %{logical}: Jobs landen hier nach %{max} fehlgeschlagenen Versuchen'
|
|
843
|
+
drained_by_html:
|
|
844
|
+
one: Abgearbeitet von %{capsules} (%{count} gesunder Worker)
|
|
845
|
+
other: Abgearbeitet von %{capsules} (%{count} gesunde Worker)
|
|
846
|
+
drained_live_html:
|
|
847
|
+
one: Abgearbeitet von %{count} gesunden Worker, der auf diese Queue hört
|
|
848
|
+
other: Abgearbeitet von %{count} gesunden Workern, die auf diese Queue hören
|
|
849
|
+
drained_wildcard_html:
|
|
850
|
+
one: Abgearbeitet von einer Wildcard-Worker-Kapsel (%{count} gesunder Worker)
|
|
851
|
+
other: Abgearbeitet von einer Wildcard-Worker-Kapsel (%{count} gesunde Worker)
|
|
852
|
+
empty_html: Nichts wartet
|
|
853
|
+
handler_html: Event-Handler-Queue — von Consumern abgearbeitet (%{count} gesund)
|
|
854
|
+
no_consumers_html:
|
|
855
|
+
one: Event-Handler-Queue ohne gesunden Consumer — %{count} Event wartet
|
|
856
|
+
other: Event-Handler-Queue ohne gesunden Consumer — %{count} Events warten
|
|
857
|
+
no_workers_html:
|
|
858
|
+
one: Kein gesunder Worker läuft — %{count} Job ist abholbar, aber niemand holt ihn ab
|
|
859
|
+
other: Kein gesunder Worker läuft — %{count} Jobs sind abholbar, aber niemand holt sie ab
|
|
860
|
+
not_drained_html: Keine Worker-Kapsel arbeitet diese Queue ab — Jobs warten, bis eine konfiguriert ist
|
|
861
|
+
paused_circuit_breaker_html: 'Automatisch pausiert %{ago} nach %{failures} Fehlern in Folge — wird fortgesetzt %{time} (Auslösung #%{trip})'
|
|
862
|
+
paused_operator_html: Pausiert %{ago} — %{reason}
|
|
863
|
+
paused_operator_no_reason_html: Pausiert %{ago} durch einen Operator
|
|
864
|
+
priority_level_html: Prioritätsstufe %{level} von %{logical}
|
|
865
|
+
stream_html: Stream-Queue — per Peek zugestellt, nicht von Workern abgearbeitet
|
|
866
|
+
summary_label: Queue-Übersicht
|
|
573
867
|
table_health:
|
|
574
868
|
headers:
|
|
575
869
|
bloat: Bloat
|
|
@@ -579,8 +873,6 @@ de:
|
|
|
579
873
|
table: Tabelle
|
|
580
874
|
oldest_txn: 'Älteste offene Transaktion:'
|
|
581
875
|
title: Tabellen-Gesundheit
|
|
582
|
-
total: 'Insgesamt:'
|
|
583
|
-
visible: 'Sichtbar:'
|
|
584
876
|
recurring_tasks:
|
|
585
877
|
index:
|
|
586
878
|
task_count:
|