pgbus 0.19.4 → 0.20.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/CHANGELOG.md +6 -0
- data/README.md +96 -7
- data/Rakefile +6 -1
- data/app/controllers/pgbus/dashboard_controller.rb +2 -0
- data/app/controllers/pgbus/workflow_definitions_controller.rb +28 -0
- data/app/controllers/pgbus/workflows_controller.rb +197 -0
- data/app/frontend/pgbus/modules/charts.js +130 -4
- data/app/frontend/pgbus/modules/charts.min.js +1 -1
- data/app/frontend/pgbus/modules/charts.min.js.map +1 -1
- data/app/frontend/pgbus/style.css +1 -1
- data/app/helpers/pgbus/button_helper.rb +4 -2
- data/app/helpers/pgbus/workflow_insights_helper.rb +129 -0
- data/app/helpers/pgbus/workflows_helper.rb +165 -0
- data/app/models/pgbus/workflow_entry.rb +172 -0
- data/app/models/pgbus/workflow_event.rb +43 -0
- data/app/models/pgbus/workflow_signal.rb +77 -0
- data/app/models/pgbus/workflow_step.rb +142 -0
- data/app/views/layouts/pgbus/application.html.erb +2 -0
- data/app/views/pgbus/dashboard/_stats_cards.html.erb +17 -0
- data/app/views/pgbus/workflows/_actions.html.erb +59 -0
- data/app/views/pgbus/workflows/_events_table.html.erb +24 -0
- data/app/views/pgbus/workflows/_filters.html.erb +29 -0
- data/app/views/pgbus/workflows/_signal_form.html.erb +31 -0
- data/app/views/pgbus/workflows/_signals_table.html.erb +40 -0
- data/app/views/pgbus/workflows/_status_filter.html.erb +12 -0
- data/app/views/pgbus/workflows/_steps_table.html.erb +79 -0
- data/app/views/pgbus/workflows/_timeline.html.erb +39 -0
- data/app/views/pgbus/workflows/_workflows_table.html.erb +59 -0
- data/app/views/pgbus/workflows/attention.html.erb +88 -0
- data/app/views/pgbus/workflows/definitions/_by_revision.html.erb +52 -0
- data/app/views/pgbus/workflows/definitions/_duration_table.html.erb +18 -0
- data/app/views/pgbus/workflows/definitions/_funnel.html.erb +49 -0
- data/app/views/pgbus/workflows/definitions/_pipeline.html.erb +16 -0
- data/app/views/pgbus/workflows/definitions/_step_card.html.erb +31 -0
- data/app/views/pgbus/workflows/definitions/_throughput_table.html.erb +32 -0
- data/app/views/pgbus/workflows/definitions/_window.html.erb +17 -0
- data/app/views/pgbus/workflows/definitions/index.html.erb +71 -0
- data/app/views/pgbus/workflows/definitions/not_found.html.erb +5 -0
- data/app/views/pgbus/workflows/definitions/show.html.erb +80 -0
- data/app/views/pgbus/workflows/index.html.erb +15 -0
- data/app/views/pgbus/workflows/not_found.html.erb +5 -0
- data/app/views/pgbus/workflows/show.html.erb +93 -0
- data/config/i18n-tasks.yml +6 -0
- data/config/locales/da.yml +442 -0
- data/config/locales/de.yml +442 -0
- data/config/locales/en.yml +442 -0
- data/config/locales/es.yml +442 -0
- data/config/locales/fi.yml +442 -0
- data/config/locales/fr.yml +442 -0
- data/config/locales/it.yml +442 -0
- data/config/locales/ja.yml +442 -0
- data/config/locales/nb.yml +442 -0
- data/config/locales/nl.yml +442 -0
- data/config/locales/pt.yml +442 -0
- data/config/locales/sv.yml +442 -0
- data/config/routes.rb +26 -0
- data/lib/generators/pgbus/add_workflow_signals_generator.rb +56 -0
- data/lib/generators/pgbus/add_workflows_generator.rb +54 -0
- data/lib/generators/pgbus/templates/add_workflow_signals.rb.erb +51 -0
- data/lib/generators/pgbus/templates/add_workflows.rb.erb +150 -0
- data/lib/generators/pgbus/templates/migration.rb.erb +127 -0
- data/lib/pgbus/active_job/delivery.rb +49 -0
- data/lib/pgbus/active_job/executor.rb +3 -1
- data/lib/pgbus/configuration/workflow_settings.rb +99 -0
- data/lib/pgbus/configuration.rb +21 -3
- data/lib/pgbus/generators/migration_detector.rb +40 -0
- data/lib/pgbus/instrumentation.rb +32 -0
- data/lib/pgbus/integrations/appsignal/dashboard.json +128 -1
- data/lib/pgbus/integrations/appsignal/subscriber.rb +16 -1
- data/lib/pgbus/mcp/rack_app.rb +7 -2
- data/lib/pgbus/mcp/runner.rb +2 -1
- data/lib/pgbus/mcp/serialization.rb +25 -0
- data/lib/pgbus/mcp/server.rb +53 -10
- data/lib/pgbus/mcp/tools/deploy_tasks_tool.rb +1 -10
- data/lib/pgbus/mcp/tools/workflow_cancel_tool.rb +23 -0
- data/lib/pgbus/mcp/tools/workflow_definitions_tool.rb +36 -0
- data/lib/pgbus/mcp/tools/workflow_detail_tool.rb +38 -0
- data/lib/pgbus/mcp/tools/workflow_resume_at_tool.rb +32 -0
- data/lib/pgbus/mcp/tools/workflow_resume_tool.rb +24 -0
- data/lib/pgbus/mcp/tools/workflow_run_now_tool.rb +23 -0
- data/lib/pgbus/mcp/tools/workflow_signal_tool.rb +77 -0
- data/lib/pgbus/mcp/tools/workflow_skip_step_tool.rb +23 -0
- data/lib/pgbus/mcp/tools/workflow_stats_tool.rb +42 -0
- data/lib/pgbus/mcp/tools/workflows_attention_tool.rb +42 -0
- data/lib/pgbus/mcp/tools/workflows_tool.rb +60 -0
- data/lib/pgbus/mcp/workflow_insights_payload.rb +15 -0
- data/lib/pgbus/mcp/workflow_payloads.rb +53 -0
- data/lib/pgbus/mcp/write_tool.rb +134 -0
- data/lib/pgbus/mcp.rb +15 -0
- data/lib/pgbus/metrics/backends/statsd.rb +6 -0
- data/lib/pgbus/metrics/subscriber.rb +14 -1
- data/lib/pgbus/metrics/workflow_metrics.rb +65 -0
- data/lib/pgbus/process/dispatcher.rb +26 -0
- data/lib/pgbus/version.rb +1 -1
- data/lib/pgbus/web/data_source/workflow_actions.rb +109 -0
- data/lib/pgbus/web/data_source/workflow_insights.rb +99 -0
- data/lib/pgbus/web/data_source/workflow_list.rb +248 -0
- data/lib/pgbus/web/data_source.rb +3 -0
- data/lib/pgbus/web/workflow_action_plan.rb +62 -0
- data/lib/pgbus/web/workflow_insights_queries.rb +250 -0
- data/lib/pgbus/web/workflow_insights_report.rb +171 -0
- data/lib/pgbus/web/workflow_payload.rb +36 -0
- data/lib/pgbus/web/workflow_query.rb +82 -0
- data/lib/pgbus/web/workflow_state.rb +76 -0
- data/lib/pgbus/web/workflow_timeline.rb +113 -0
- data/lib/pgbus/web/workflow_window.rb +51 -0
- data/lib/pgbus/workflow/batch_finished_job.rb +21 -0
- data/lib/pgbus/workflow/dsl.rb +105 -0
- data/lib/pgbus/workflow/error_capture.rb +63 -0
- data/lib/pgbus/workflow/exception_policy.rb +170 -0
- data/lib/pgbus/workflow/fan_out.rb +157 -0
- data/lib/pgbus/workflow/fan_out_definition.rb +41 -0
- data/lib/pgbus/workflow/flow_control.rb +94 -0
- data/lib/pgbus/workflow/instance.rb +183 -0
- data/lib/pgbus/workflow/outside_verbs.rb +138 -0
- data/lib/pgbus/workflow/payload.rb +53 -0
- data/lib/pgbus/workflow/registry.rb +53 -0
- data/lib/pgbus/workflow/removed_step.rb +14 -0
- data/lib/pgbus/workflow/runner.rb +218 -0
- data/lib/pgbus/workflow/signal_matcher.rb +53 -0
- data/lib/pgbus/workflow/signals.rb +132 -0
- data/lib/pgbus/workflow/states.rb +119 -0
- data/lib/pgbus/workflow/step_context.rb +58 -0
- data/lib/pgbus/workflow/step_definition.rb +131 -0
- data/lib/pgbus/workflow/step_execution.rb +242 -0
- data/lib/pgbus/workflow/step_job.rb +28 -0
- data/lib/pgbus/workflow/step_outcome.rb +151 -0
- data/lib/pgbus/workflow/steps.rb +103 -0
- data/lib/pgbus/workflow/sweep.rb +156 -0
- data/lib/pgbus/workflow/test_helpers.rb +152 -0
- data/lib/pgbus/workflow/wait_timeout.rb +73 -0
- data/lib/pgbus/workflow/waiting.rb +82 -0
- data/lib/pgbus/workflow.rb +183 -0
- data/sig/pgbus/configuration.rbs +22 -0
- metadata +92 -1
data/config/locales/nl.yml
CHANGED
|
@@ -140,6 +140,11 @@ nl:
|
|
|
140
140
|
throughput: Doorvoer
|
|
141
141
|
throughput_detail: jobs/min over de laatste %{minutes} min
|
|
142
142
|
throughput_unavailable: vereist jobstatistieken (rails g pgbus:add_job_stats)
|
|
143
|
+
workflows: Workflows
|
|
144
|
+
workflows_attention:
|
|
145
|
+
one: "%{count} heeft aandacht nodig"
|
|
146
|
+
other: "%{count} hebben aandacht nodig"
|
|
147
|
+
workflows_detail: lopend (%{paused} gepauzeerd)
|
|
143
148
|
verdict:
|
|
144
149
|
links:
|
|
145
150
|
dlq: Dead letters
|
|
@@ -723,6 +728,7 @@ nl:
|
|
|
723
728
|
processes: Processen
|
|
724
729
|
queues: Wachtrijen
|
|
725
730
|
recurring: Terugkerend
|
|
731
|
+
workflows: Workflows
|
|
726
732
|
return_to_app: Terug naar app
|
|
727
733
|
title: Pgbus Dashboard
|
|
728
734
|
toggle_dark_mode: Donkere modus schakelen
|
|
@@ -1023,3 +1029,439 @@ nl:
|
|
|
1023
1029
|
disabled: Taak uitgeschakeld
|
|
1024
1030
|
enabled: Taak ingeschakeld
|
|
1025
1031
|
failed: Kon taak niet omschakelen
|
|
1032
|
+
workflow_insights:
|
|
1033
|
+
back_to_classes: Alle workflowklassen
|
|
1034
|
+
back_to_runs: Alle workflowruns
|
|
1035
|
+
bad_request: 'Ongeldig verzoek: %{reason}'
|
|
1036
|
+
capped: 'Beperkt tot workflow_retention (%{retention}): oudere voltooide en geannuleerde runs worden verwijderd.'
|
|
1037
|
+
few_samples:
|
|
1038
|
+
one: n=%{count}, weinig metingen
|
|
1039
|
+
other: n=%{count}, weinig metingen
|
|
1040
|
+
index:
|
|
1041
|
+
description: 'Hoe elke workflowklasse het deed in %{window}: de runs die nu lopen, de runs die eindigden en hoe lang een run van begin tot eind duurt.'
|
|
1042
|
+
empty_hint: 'Definieer een subklasse van Pgbus::Workflow en start een run: YourWorkflow.start!(subject, **arguments).'
|
|
1043
|
+
empty_title: Er heeft nog geen workflowklasse gedraaid.
|
|
1044
|
+
headers:
|
|
1045
|
+
attention: Aandacht nodig
|
|
1046
|
+
cancelled: Geannuleerd
|
|
1047
|
+
duration_p50: Duur p50
|
|
1048
|
+
duration_p95: Duur p95
|
|
1049
|
+
finished: Voltooid
|
|
1050
|
+
ongoing: Lopend
|
|
1051
|
+
paused: Gepauzeerd
|
|
1052
|
+
workflow_class: Workflowklasse
|
|
1053
|
+
title: Workflow-inzicht
|
|
1054
|
+
links:
|
|
1055
|
+
at_step: "%{status} runs bij %{step}"
|
|
1056
|
+
attention: runs van %{workflow} die aandacht nodig hebben
|
|
1057
|
+
cancelled: runs van %{workflow} die in het venster zijn geannuleerd
|
|
1058
|
+
cancelled_bucket: runs geannuleerd in deze periode
|
|
1059
|
+
finished: runs van %{workflow} die in het venster zijn voltooid
|
|
1060
|
+
finished_bucket: runs voltooid in deze periode
|
|
1061
|
+
ongoing: lopende runs van %{workflow}
|
|
1062
|
+
paused: gepauzeerde runs van %{workflow}
|
|
1063
|
+
started: runs van %{workflow} die in het venster zijn gestart
|
|
1064
|
+
started_bucket: runs gestart in deze periode
|
|
1065
|
+
not_found:
|
|
1066
|
+
hint: Geen subklasse van Pgbus::Workflow en geen run heet %{workflow} (of het lezen mislukte, zie de log).
|
|
1067
|
+
title: Onbekende workflowklasse
|
|
1068
|
+
not_loaded: Definitie niet geladen
|
|
1069
|
+
not_loaded_hint: 'Deze klasse laadt niet meer in de app: de stappen komen uit de rijen van de runs, in de volgorde waarin de runs ze bereikten.'
|
|
1070
|
+
percentile: "%{name} %{value}"
|
|
1071
|
+
removed_in_flight:
|
|
1072
|
+
one: "%{count} run op verwijderde stap %{step}"
|
|
1073
|
+
other: "%{count} runs op verwijderde stap %{step}"
|
|
1074
|
+
show:
|
|
1075
|
+
by_revision:
|
|
1076
|
+
all_steps: Alle stappen
|
|
1077
|
+
caption: 'Dezelfde cijfers voor de laatste vijf app-revisies die in het venster een poging afrondden, nieuwste eerst: een achteruitgang na een deploy verschijnt als een rij.'
|
|
1078
|
+
empty: Geen poging in dit venster registreerde een app-revisie (config.app_revision).
|
|
1079
|
+
headers:
|
|
1080
|
+
attempts: Pogingen
|
|
1081
|
+
failed: Mislukt
|
|
1082
|
+
reattempted: Opnieuw geprobeerd
|
|
1083
|
+
revision: Revisie
|
|
1084
|
+
run_time: Looptijd
|
|
1085
|
+
skipped: Overgeslagen
|
|
1086
|
+
step: Stap
|
|
1087
|
+
seen_html: gezien %{from} tot %{to}
|
|
1088
|
+
title: Per app-revisie
|
|
1089
|
+
worse: gestegen van %{rate} op %{revision}
|
|
1090
|
+
charts:
|
|
1091
|
+
durations:
|
|
1092
|
+
between: "%{from}–%{to}"
|
|
1093
|
+
caption:
|
|
1094
|
+
one: Hoe lang de %{count} run die in het venster werd voltooid, duurde van begin tot eind.
|
|
1095
|
+
other: Hoe lang de %{count} runs die in het venster werden voltooid, duurden van begin tot eind.
|
|
1096
|
+
headers:
|
|
1097
|
+
range: Duur
|
|
1098
|
+
runs: Runs
|
|
1099
|
+
over: "%{from} of meer"
|
|
1100
|
+
title: Duur van begin tot eind
|
|
1101
|
+
under: minder dan %{to}
|
|
1102
|
+
series:
|
|
1103
|
+
cancelled: Geannuleerd
|
|
1104
|
+
finished: Voltooid
|
|
1105
|
+
runs: Runs
|
|
1106
|
+
started: Gestart
|
|
1107
|
+
throughput:
|
|
1108
|
+
caption: 'Gestarte, voltooide en geannuleerde runs per %{bucket} in %{window}: %{started} gestart, %{finished} voltooid, %{cancelled} geannuleerd.'
|
|
1109
|
+
headers:
|
|
1110
|
+
cancelled: Geannuleerd
|
|
1111
|
+
finished: Voltooid
|
|
1112
|
+
from: Vanaf
|
|
1113
|
+
started: Gestart
|
|
1114
|
+
title: Runs per %{bucket}
|
|
1115
|
+
description: 'In %{window}: waar de runs nu zijn, hoe elke stap presteert en waar runs stoppen.'
|
|
1116
|
+
funnel:
|
|
1117
|
+
caption:
|
|
1118
|
+
one: 'Van de %{count} run die in het venster startte: hoeveel elke stap bereikten en waar hij nu is.'
|
|
1119
|
+
other: 'Van de %{count} runs die in het venster startten: hoeveel elke stap bereikten en waar elk nu is.'
|
|
1120
|
+
empty: Er is in dit venster geen run gestart.
|
|
1121
|
+
headers:
|
|
1122
|
+
now_here: Nu bij deze stap
|
|
1123
|
+
reached: Bereikt
|
|
1124
|
+
share: Van gestart
|
|
1125
|
+
step: Stap
|
|
1126
|
+
here:
|
|
1127
|
+
cancelled:
|
|
1128
|
+
one: "%{count} geannuleerd"
|
|
1129
|
+
other: "%{count} geannuleerd"
|
|
1130
|
+
finished:
|
|
1131
|
+
one: "%{count} voltooid"
|
|
1132
|
+
other: "%{count} voltooid"
|
|
1133
|
+
paused:
|
|
1134
|
+
one: "%{count} gepauzeerd"
|
|
1135
|
+
other: "%{count} gepauzeerd"
|
|
1136
|
+
performing:
|
|
1137
|
+
one: "%{count} bezig"
|
|
1138
|
+
other: "%{count} bezig"
|
|
1139
|
+
ready:
|
|
1140
|
+
one: "%{count} gepland"
|
|
1141
|
+
other: "%{count} gepland"
|
|
1142
|
+
waiting:
|
|
1143
|
+
one: "%{count} wachtend"
|
|
1144
|
+
other: "%{count} wachtend"
|
|
1145
|
+
title: Trechter
|
|
1146
|
+
pipeline:
|
|
1147
|
+
attempts:
|
|
1148
|
+
one: "%{count} poging"
|
|
1149
|
+
other: "%{count} pogingen"
|
|
1150
|
+
caption: 'Elke stap op volgorde: de runs die er nu staan, en hoe de pogingen die in het venster eindigden, verliepen.'
|
|
1151
|
+
empty: 'Nog geen stappen: geen run van deze klasse heeft een stap in het venster en er loopt er geen.'
|
|
1152
|
+
failed: Mislukt
|
|
1153
|
+
kinds:
|
|
1154
|
+
fan_out: Fan-out
|
|
1155
|
+
removed: Verwijderd
|
|
1156
|
+
signal: Wacht op een signaal
|
|
1157
|
+
undeclared: Niet in de definitie
|
|
1158
|
+
live:
|
|
1159
|
+
paused: Gepauzeerd
|
|
1160
|
+
performing: Bezig
|
|
1161
|
+
ready: Gepland
|
|
1162
|
+
waiting: Wachtend
|
|
1163
|
+
now_label: Runs nu bij deze stap
|
|
1164
|
+
pickup: Oppakken
|
|
1165
|
+
reattempted: Opnieuw geprobeerd
|
|
1166
|
+
run_time: Looptijd
|
|
1167
|
+
skipped: Overgeslagen
|
|
1168
|
+
step_link: Lopende runs bij %{step}
|
|
1169
|
+
title: Pipeline
|
|
1170
|
+
window_label: Pogingen die in het venster eindigden
|
|
1171
|
+
summary:
|
|
1172
|
+
attention: Aandacht nodig
|
|
1173
|
+
cancelled: Geannuleerd
|
|
1174
|
+
duration: Duur p50
|
|
1175
|
+
finished: Voltooid
|
|
1176
|
+
ongoing: Lopend
|
|
1177
|
+
started: Gestart
|
|
1178
|
+
window_label: Tijdvenster
|
|
1179
|
+
windows:
|
|
1180
|
+
1h: het afgelopen uur
|
|
1181
|
+
24h: de afgelopen 24 uur
|
|
1182
|
+
30d: de afgelopen 30 dagen
|
|
1183
|
+
7d: de afgelopen 7 dagen
|
|
1184
|
+
workflows:
|
|
1185
|
+
actions:
|
|
1186
|
+
bulk_cancel: Alles annuleren
|
|
1187
|
+
bulk_resume: Alles hervatten
|
|
1188
|
+
cancel: Annuleren
|
|
1189
|
+
rerun: Herhalen
|
|
1190
|
+
resume: Hervatten
|
|
1191
|
+
resume_at: Hervatten bij stap
|
|
1192
|
+
run_now: Nu uitvoeren
|
|
1193
|
+
signal: Signaal versturen
|
|
1194
|
+
skip_step: Stap overslaan
|
|
1195
|
+
attempt: poging %{attempt}
|
|
1196
|
+
attention:
|
|
1197
|
+
at_step_html: bij %{step}
|
|
1198
|
+
back: "← Workflows"
|
|
1199
|
+
cancel_all:
|
|
1200
|
+
one: Annuleer alles (%{count})
|
|
1201
|
+
other: Annuleer alles (%{count})
|
|
1202
|
+
confirm:
|
|
1203
|
+
cancel:
|
|
1204
|
+
one: De run annuleren die bij %{step} vastzit?
|
|
1205
|
+
other: Alle %{count} runs annuleren die bij %{step} vastzitten?
|
|
1206
|
+
cancel_error:
|
|
1207
|
+
one: De run annuleren die bij %{step} vastzit door %{error}?
|
|
1208
|
+
other: Alle %{count} runs annuleren die bij %{step} vastzitten door %{error}?
|
|
1209
|
+
resume:
|
|
1210
|
+
one: De run hervatten die bij %{step} is gepauzeerd?
|
|
1211
|
+
other: Alle %{count} runs hervatten die bij %{step} zijn gepauzeerd?
|
|
1212
|
+
resume_error:
|
|
1213
|
+
one: De run hervatten die bij %{step} is gepauzeerd door %{error}?
|
|
1214
|
+
other: Alle %{count} runs hervatten die bij %{step} zijn gepauzeerd door %{error}?
|
|
1215
|
+
description: Lopende runs die op een persoon wachten, gegroepeerd naar wat ze stillegde. Is de oorzaak verholpen, handel dan de hele groep af.
|
|
1216
|
+
empty_hint: Geen lopende run is gepauzeerd, vastgelopen, achterstallig of wacht langer dan workflow_waiting_visibility_threshold.
|
|
1217
|
+
empty_title: Niets heeft aandacht nodig.
|
|
1218
|
+
first_seen_html: eerste %{time}
|
|
1219
|
+
headers:
|
|
1220
|
+
actions: Acties
|
|
1221
|
+
reason: Reden
|
|
1222
|
+
runs: Runs
|
|
1223
|
+
seen: Gezien
|
|
1224
|
+
workflow: Workflow
|
|
1225
|
+
last_seen_html: laatste %{time}
|
|
1226
|
+
only_class_html: Alleen %{workflow}.
|
|
1227
|
+
reasons:
|
|
1228
|
+
overdue: 'Achterstallig: aan de beurt, maar niet opgepakt'
|
|
1229
|
+
paused_error: Gepauzeerd door een fout
|
|
1230
|
+
paused_manual: Handmatig gepauzeerd
|
|
1231
|
+
stalled: 'Vastgelopen: de worker reageert niet meer'
|
|
1232
|
+
waiting_overdue: Wacht te lang
|
|
1233
|
+
resume_all:
|
|
1234
|
+
one: Hervat alles (%{count})
|
|
1235
|
+
other: Hervat alles (%{count})
|
|
1236
|
+
show_all: Alle klassen tonen
|
|
1237
|
+
show_runs: Runs tonen
|
|
1238
|
+
title: Aandacht nodig
|
|
1239
|
+
audit:
|
|
1240
|
+
by: "%{event} door %{actor}"
|
|
1241
|
+
empty: Geen gebeurtenissen vastgelegd.
|
|
1242
|
+
headers:
|
|
1243
|
+
what: Wat er gebeurde
|
|
1244
|
+
when: Wanneer
|
|
1245
|
+
title: Auditlog
|
|
1246
|
+
with_reason: "%{sentence}: %{reason}"
|
|
1247
|
+
with_step: "%{sentence} (%{step} #%{attempt})"
|
|
1248
|
+
bad_request: 'Ongeldig verzoek: %{reason}'
|
|
1249
|
+
confirm:
|
|
1250
|
+
cancel: Deze workflow annuleren? De openstaande stappen worden geannuleerd en de workflow draait niet opnieuw.
|
|
1251
|
+
rerun: Deze workflow opnieuw starten als nieuwe run, met hetzelfde onderwerp en dezelfde argumenten?
|
|
1252
|
+
resume: Deze workflow hervatten?
|
|
1253
|
+
resume_at: Deze workflow hervatten bij de gekozen stap? De openstaande stappen worden eerst geannuleerd.
|
|
1254
|
+
run_now: De geplande stap nu uitvoeren in plaats van te wachten?
|
|
1255
|
+
signal: Dit signaal naar de workflow versturen?
|
|
1256
|
+
skip_step: De stap overslaan waarop deze workflow wacht en doorgaan naar de volgende?
|
|
1257
|
+
events:
|
|
1258
|
+
cancelled: Geannuleerd
|
|
1259
|
+
fan_out_finished: Fan-out afgerond
|
|
1260
|
+
fan_out_opened: Fan-out geopend
|
|
1261
|
+
finished: Afgerond
|
|
1262
|
+
late_completion_ignored: Late voltooiing genegeerd
|
|
1263
|
+
paused: Gepauzeerd
|
|
1264
|
+
rerun: Herhaald
|
|
1265
|
+
rescheduled: Opnieuw gepland
|
|
1266
|
+
resumed: Hervat
|
|
1267
|
+
run_now: Nu uitvoeren
|
|
1268
|
+
signal_claimed: Signaal geclaimd
|
|
1269
|
+
signal_received: Signaal ontvangen
|
|
1270
|
+
stall_detected: Vastloper gedetecteerd
|
|
1271
|
+
started: Gestart
|
|
1272
|
+
step_completed: Stap voltooid
|
|
1273
|
+
step_failed: Stap mislukt
|
|
1274
|
+
step_reattempted: Stap opnieuw geprobeerd
|
|
1275
|
+
step_scheduled: Stap gepland
|
|
1276
|
+
step_skipped: Stap overgeslagen
|
|
1277
|
+
step_started: Stap gestart
|
|
1278
|
+
step_waiting: Stap wacht
|
|
1279
|
+
wait_timed_out: Wachttijd verlopen
|
|
1280
|
+
filters:
|
|
1281
|
+
apply: Filters toepassen
|
|
1282
|
+
clear: Wissen
|
|
1283
|
+
created_from: Aangemaakt vanaf
|
|
1284
|
+
created_to: Aangemaakt tot
|
|
1285
|
+
ended_from: Beëindigd vanaf
|
|
1286
|
+
ended_to: Beëindigd tot
|
|
1287
|
+
error_class: Foutklasse
|
|
1288
|
+
step: Huidige stap
|
|
1289
|
+
subject_id: Onderwerp-ID
|
|
1290
|
+
subject_type: Onderwerptype
|
|
1291
|
+
workflow_class: Workflow-klasse
|
|
1292
|
+
workflow_id: Workflow-ID
|
|
1293
|
+
flash:
|
|
1294
|
+
bad_group: Die groep is ongeldig.
|
|
1295
|
+
bulk_cancel:
|
|
1296
|
+
one: "%{count} geannuleerd."
|
|
1297
|
+
other: "%{count} geannuleerd."
|
|
1298
|
+
bulk_cancel_skipped: "%{count} geannuleerd; %{skipped} waren al verder."
|
|
1299
|
+
bulk_failed: "%{count} konden niet worden gewijzigd: %{reason}"
|
|
1300
|
+
bulk_more: 'Er wachten mogelijk meer runs: druk nogmaals voor de volgende %{cap}.'
|
|
1301
|
+
bulk_resume:
|
|
1302
|
+
one: "%{count} hervat."
|
|
1303
|
+
other: "%{count} hervat."
|
|
1304
|
+
bulk_resume_skipped: "%{count} hervat; %{skipped} waren al verder."
|
|
1305
|
+
cancel: Workflow geannuleerd.
|
|
1306
|
+
choose_step: Kies een stap om te hervatten.
|
|
1307
|
+
failed:
|
|
1308
|
+
not_allowed: 'Niet uitgevoerd: de run is nu %{status}.'
|
|
1309
|
+
not_found: Die workflow bestaat niet meer.
|
|
1310
|
+
other: "%{action} mislukt: %{reason}"
|
|
1311
|
+
payload_not_object: 'Niet verstuurd: de payload is geen JSON-object.'
|
|
1312
|
+
payload_too_large: 'Niet verstuurd: de payload is groter dan %{limit} bytes.'
|
|
1313
|
+
rerun: Nieuwe run gestart.
|
|
1314
|
+
resume: Workflow hervat.
|
|
1315
|
+
resume_at: Workflow hervat bij %{step}.
|
|
1316
|
+
run_now: De geplande stap draait nu.
|
|
1317
|
+
signal: Signaal %{name} verstuurd.
|
|
1318
|
+
signal_duplicate: Signaal %{name} was al afgeleverd met deze sleutel; er is niets nieuws verstuurd.
|
|
1319
|
+
signal_name_missing: 'Niet verstuurd: het signaal heeft een naam nodig.'
|
|
1320
|
+
skip_step: Stap overgeslagen.
|
|
1321
|
+
headers:
|
|
1322
|
+
current_step: Huidige stap
|
|
1323
|
+
last_activity: Laatste activiteit
|
|
1324
|
+
started: Gestart
|
|
1325
|
+
status: Status
|
|
1326
|
+
subject: Onderwerp
|
|
1327
|
+
workflow: Workflow
|
|
1328
|
+
index:
|
|
1329
|
+
attention_link:
|
|
1330
|
+
one: Aandacht nodig (%{count})
|
|
1331
|
+
other: Aandacht nodig (%{count})
|
|
1332
|
+
description: 'Duurzame runs met meerdere stappen: wat elke run doet en wat er hierna gebeurt.'
|
|
1333
|
+
empty_hint: Kies een andere status of wis de filters. Een run start met YourWorkflow.start!(subject, **arguments).
|
|
1334
|
+
empty_title: Geen workflows gevonden.
|
|
1335
|
+
insights_link: Inzicht per klasse
|
|
1336
|
+
status_label: Filteren op status
|
|
1337
|
+
title: Workflows
|
|
1338
|
+
next:
|
|
1339
|
+
cancelled_html: Geannuleerd %{ago}.
|
|
1340
|
+
due_html: 'Klaar: %{step} was %{ago} aan de beurt en wacht op een worker.'
|
|
1341
|
+
finished_html: Afgerond %{ago}.
|
|
1342
|
+
overdue_html: 'Achterstallig: %{step} was %{ago} aan de beurt; de sweep verstuurt hem opnieuw.'
|
|
1343
|
+
paused_error_html: 'Gepauzeerd bij %{step}: %{error} — hervat of annuleer.'
|
|
1344
|
+
paused_manual_html: Gepauzeerd bij %{step} — hervat of annuleer.
|
|
1345
|
+
performing_attempt_html: "%{step} wordt uitgevoerd (poging %{attempt})."
|
|
1346
|
+
performing_html: "%{step} wordt uitgevoerd."
|
|
1347
|
+
ready_html: 'Klaar: %{step} draait als volgende.'
|
|
1348
|
+
scheduled_html: 'Gepland: %{step} draait %{time}.'
|
|
1349
|
+
unknown_html: 'Status: %{status}.'
|
|
1350
|
+
waiting_batch_html: Wacht op groep %{batch} (%{done} van %{total} taken klaar).
|
|
1351
|
+
waiting_signal_html: Wacht op signaal %{signal}, gestart %{ago}.
|
|
1352
|
+
waiting_signal_timeout_html: Wacht op signaal %{signal}, gestart %{ago}. De wachttijd verloopt %{time}.
|
|
1353
|
+
waiting_step_html: Wacht op %{step}.
|
|
1354
|
+
not_found:
|
|
1355
|
+
hint: Hij is mogelijk voltooid en verwijderd na workflow_retention, of de database kon niet worden gelezen (zie het log).
|
|
1356
|
+
title: Workflow niet gevonden
|
|
1357
|
+
outcomes:
|
|
1358
|
+
cancelled: geannuleerd
|
|
1359
|
+
completed: voltooid
|
|
1360
|
+
finished_early: rondde de run vroegtijdig af
|
|
1361
|
+
paused: pauzeerde de run
|
|
1362
|
+
reattempted: opnieuw geprobeerd
|
|
1363
|
+
skipped: overgeslagen
|
|
1364
|
+
resume:
|
|
1365
|
+
carry_on: 'Hervatten: verdergaan met %{step}'
|
|
1366
|
+
continue: 'Hervatten: doorgaan met %{step}'
|
|
1367
|
+
finish: 'Hervatten: de run afronden'
|
|
1368
|
+
resend: 'Hervatten: %{step} opnieuw versturen'
|
|
1369
|
+
retry: 'Hervatten: %{step} opnieuw proberen'
|
|
1370
|
+
rewait: 'Hervatten: opnieuw wachten op %{step}'
|
|
1371
|
+
show:
|
|
1372
|
+
actions: Acties
|
|
1373
|
+
arguments: Argumenten
|
|
1374
|
+
back: "← Workflows"
|
|
1375
|
+
cancelled_at: Geannuleerd
|
|
1376
|
+
class_missing: "%{workflow_class} is niet geladen in dit proces: de run kan nog wel worden geannuleerd, maar niet hervat."
|
|
1377
|
+
definition_outdated: 'Deze run is gestart met een oudere definitie van %{workflow_class}: de stappen zijn sindsdien gewijzigd.'
|
|
1378
|
+
details: Details
|
|
1379
|
+
finished_at: Afgerond
|
|
1380
|
+
no_arguments: Deze run heeft geen argumenten.
|
|
1381
|
+
paused_at: Gepauzeerd
|
|
1382
|
+
reason_hint: Wordt vastgelegd in het auditlog, naast wie het deed.
|
|
1383
|
+
reason_label: Reden (optioneel)
|
|
1384
|
+
rerun_of: Herhaling van
|
|
1385
|
+
reruns: Herhaald als
|
|
1386
|
+
resume_at_label: Hervatten bij stap
|
|
1387
|
+
signal:
|
|
1388
|
+
hint: Een stap die erop wacht, gaat direct verder; anders blijft het signaal in afwachting tot een stap het oppakt.
|
|
1389
|
+
name: Signaalnaam
|
|
1390
|
+
payload: Payload (JSON)
|
|
1391
|
+
send: Signaal versturen
|
|
1392
|
+
title: Een signaal versturen
|
|
1393
|
+
signal_statuses:
|
|
1394
|
+
claimed: Geclaimd
|
|
1395
|
+
consumed: Verwerkt
|
|
1396
|
+
pending: In afwachting
|
|
1397
|
+
signals:
|
|
1398
|
+
empty: Geen signalen afgeleverd aan deze run.
|
|
1399
|
+
headers:
|
|
1400
|
+
claimed: Geclaimd
|
|
1401
|
+
consumed: Verwerkt
|
|
1402
|
+
idempotency_key: Idempotentiesleutel
|
|
1403
|
+
name: Signaal
|
|
1404
|
+
received: Ontvangen
|
|
1405
|
+
status: Status
|
|
1406
|
+
payload: Payload
|
|
1407
|
+
title: Signalen
|
|
1408
|
+
statuses:
|
|
1409
|
+
cancelled: Geannuleerd
|
|
1410
|
+
finished: Afgerond
|
|
1411
|
+
gone: verdwenen
|
|
1412
|
+
paused: Gepauzeerd
|
|
1413
|
+
performing: Wordt uitgevoerd
|
|
1414
|
+
ready: Klaar
|
|
1415
|
+
scheduled: Gepland
|
|
1416
|
+
waiting: Wachtend
|
|
1417
|
+
step_statuses:
|
|
1418
|
+
cancelled: Geannuleerd
|
|
1419
|
+
completed: Voltooid
|
|
1420
|
+
failed: Mislukt
|
|
1421
|
+
in_progress: Actief
|
|
1422
|
+
scheduled: Gepland
|
|
1423
|
+
skipped: Overgeslagen
|
|
1424
|
+
waiting: Wachtend
|
|
1425
|
+
steps:
|
|
1426
|
+
batch: groep %{batch}
|
|
1427
|
+
caused_by: Veroorzaakt door %{error}
|
|
1428
|
+
empty: Nog geen pogingen.
|
|
1429
|
+
headers:
|
|
1430
|
+
finished: Afgerond
|
|
1431
|
+
queued: In wachtrij
|
|
1432
|
+
ran: Uitgevoerd
|
|
1433
|
+
scheduled: Gepland
|
|
1434
|
+
started: Gestart
|
|
1435
|
+
status: Status
|
|
1436
|
+
step: Stap
|
|
1437
|
+
waited: Gewacht
|
|
1438
|
+
worker: Worker
|
|
1439
|
+
revision: revisie %{revision}
|
|
1440
|
+
show_backtrace: Backtrace tonen
|
|
1441
|
+
title: Pogingen
|
|
1442
|
+
waiting_for: daarna %{duration} wachten
|
|
1443
|
+
waits_for_html: wacht op %{signal}
|
|
1444
|
+
tabs:
|
|
1445
|
+
all: Alle
|
|
1446
|
+
cancelled: Geannuleerd
|
|
1447
|
+
finished: Afgerond
|
|
1448
|
+
ongoing: Lopend
|
|
1449
|
+
paused: Gepauzeerd
|
|
1450
|
+
performing: Wordt uitgevoerd
|
|
1451
|
+
ready: Klaar
|
|
1452
|
+
waiting: Wachtend
|
|
1453
|
+
timeline:
|
|
1454
|
+
caption: 'Elke poging, oudste bovenaan: gewacht (de wachttijd), in wachtrij (aan de beurt, nog niet opgepakt), uitgevoerd (gekleurd naar hoe het afliep) en wachtend (op een signaal of de groep), met de pauzes op een eigen rij. De pogingentabel hieronder toont dezelfde duren.'
|
|
1455
|
+
empty: Nog geen pogingen.
|
|
1456
|
+
paused_period_html: Gepauzeerd op %{from} gedurende %{duration}
|
|
1457
|
+
paused_row: Gepauzeerd
|
|
1458
|
+
series:
|
|
1459
|
+
paused: Gepauzeerd
|
|
1460
|
+
queued: In wachtrij
|
|
1461
|
+
ran_cancelled: Uitgevoerd, geannuleerd
|
|
1462
|
+
ran_failed: Uitgevoerd, mislukt
|
|
1463
|
+
ran_ok: Uitgevoerd
|
|
1464
|
+
ran_open: Actief
|
|
1465
|
+
waited: Gewacht
|
|
1466
|
+
waiting: Wachtend
|
|
1467
|
+
title: Tijdlijn
|