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/it.yml
CHANGED
|
@@ -140,6 +140,11 @@ it:
|
|
|
140
140
|
throughput: Throughput
|
|
141
141
|
throughput_detail: lavori/min negli ultimi %{minutes} min
|
|
142
142
|
throughput_unavailable: richiede le statistiche dei job (rails g pgbus:add_job_stats)
|
|
143
|
+
workflows: Workflow
|
|
144
|
+
workflows_attention:
|
|
145
|
+
one: "%{count} richiede attenzione"
|
|
146
|
+
other: "%{count} richiedono attenzione"
|
|
147
|
+
workflows_detail: in corso (%{paused} in pausa)
|
|
143
148
|
verdict:
|
|
144
149
|
links:
|
|
145
150
|
dlq: Dead letter
|
|
@@ -723,6 +728,7 @@ it:
|
|
|
723
728
|
processes: Processi
|
|
724
729
|
queues: Code
|
|
725
730
|
recurring: Ricorrente
|
|
731
|
+
workflows: Workflow
|
|
726
732
|
return_to_app: Torna all'app
|
|
727
733
|
title: Cruscotto Pgbus
|
|
728
734
|
toggle_dark_mode: Attiva/disattiva modalità scura
|
|
@@ -1023,3 +1029,439 @@ it:
|
|
|
1023
1029
|
disabled: Attività disabilitata
|
|
1024
1030
|
enabled: Attività abilitata
|
|
1025
1031
|
failed: Impossibile cambiare lo stato dell'attività
|
|
1032
|
+
workflow_insights:
|
|
1033
|
+
back_to_classes: Tutte le classi di workflow
|
|
1034
|
+
back_to_runs: Tutte le esecuzioni dei workflow
|
|
1035
|
+
bad_request: 'Richiesta non valida: %{reason}'
|
|
1036
|
+
capped: 'Limitato a workflow_retention (%{retention}): le esecuzioni terminate e annullate più vecchie vengono eliminate.'
|
|
1037
|
+
few_samples:
|
|
1038
|
+
one: n=%{count}, pochi campioni
|
|
1039
|
+
other: n=%{count}, pochi campioni
|
|
1040
|
+
index:
|
|
1041
|
+
description: 'Come è andata ogni classe di workflow in %{window}: le esecuzioni in corso, quelle terminate e quanto dura un''esecuzione dall''inizio alla fine.'
|
|
1042
|
+
empty_hint: 'Definisci una sottoclasse di Pgbus::Workflow e avvia un''esecuzione: YourWorkflow.start!(subject, **arguments).'
|
|
1043
|
+
empty_title: Nessuna classe di workflow è ancora stata eseguita.
|
|
1044
|
+
headers:
|
|
1045
|
+
attention: Richiedono attenzione
|
|
1046
|
+
cancelled: Annullate
|
|
1047
|
+
duration_p50: Durata p50
|
|
1048
|
+
duration_p95: Durata p95
|
|
1049
|
+
finished: Terminate
|
|
1050
|
+
ongoing: In corso
|
|
1051
|
+
paused: In pausa
|
|
1052
|
+
workflow_class: Classe di workflow
|
|
1053
|
+
title: Analisi dei workflow
|
|
1054
|
+
links:
|
|
1055
|
+
at_step: "%{status} esecuzioni a %{step}"
|
|
1056
|
+
attention: esecuzioni di %{workflow} che richiedono attenzione
|
|
1057
|
+
cancelled: esecuzioni di %{workflow} annullate nella finestra
|
|
1058
|
+
cancelled_bucket: esecuzioni annullate in questo periodo
|
|
1059
|
+
finished: esecuzioni di %{workflow} terminate nella finestra
|
|
1060
|
+
finished_bucket: esecuzioni terminate in questo periodo
|
|
1061
|
+
ongoing: esecuzioni in corso di %{workflow}
|
|
1062
|
+
paused: esecuzioni in pausa di %{workflow}
|
|
1063
|
+
started: esecuzioni di %{workflow} avviate nella finestra
|
|
1064
|
+
started_bucket: esecuzioni avviate in questo periodo
|
|
1065
|
+
not_found:
|
|
1066
|
+
hint: Nessuna sottoclasse di Pgbus::Workflow e nessuna esecuzione si chiama %{workflow} (oppure la lettura è fallita, vedi il log).
|
|
1067
|
+
title: Classe di workflow sconosciuta
|
|
1068
|
+
not_loaded: Definizione non caricata
|
|
1069
|
+
not_loaded_hint: 'Questa classe non si carica più nell''app: i suoi passi vengono dalle righe delle sue esecuzioni, nell''ordine in cui le esecuzioni li hanno raggiunti.'
|
|
1070
|
+
percentile: "%{name} %{value}"
|
|
1071
|
+
removed_in_flight:
|
|
1072
|
+
one: "%{count} esecuzione sul passo rimosso %{step}"
|
|
1073
|
+
other: "%{count} esecuzioni sul passo rimosso %{step}"
|
|
1074
|
+
show:
|
|
1075
|
+
by_revision:
|
|
1076
|
+
all_steps: Tutti i passi
|
|
1077
|
+
caption: 'Gli stessi numeri per le ultime cinque revisioni dell''app che hanno terminato un tentativo nella finestra, dalla più recente: una regressione dopo un deploy appare come una riga.'
|
|
1078
|
+
empty: Nessun tentativo in questa finestra ha registrato una revisione dell'app (config.app_revision).
|
|
1079
|
+
headers:
|
|
1080
|
+
attempts: Tentativi
|
|
1081
|
+
failed: Falliti
|
|
1082
|
+
reattempted: Ritentati
|
|
1083
|
+
revision: Revisione
|
|
1084
|
+
run_time: Tempo di esecuzione
|
|
1085
|
+
skipped: Saltati
|
|
1086
|
+
step: Passo
|
|
1087
|
+
seen_html: vista da %{from} a %{to}
|
|
1088
|
+
title: Per revisione dell'app
|
|
1089
|
+
worse: in aumento da %{rate} su %{revision}
|
|
1090
|
+
charts:
|
|
1091
|
+
durations:
|
|
1092
|
+
between: "%{from}–%{to}"
|
|
1093
|
+
caption:
|
|
1094
|
+
one: Quanto è durata la %{count} esecuzione terminata nella finestra, dall'inizio alla fine.
|
|
1095
|
+
other: Quanto sono durate le %{count} esecuzioni terminate nella finestra, dall'inizio alla fine.
|
|
1096
|
+
headers:
|
|
1097
|
+
range: Durata
|
|
1098
|
+
runs: Esecuzioni
|
|
1099
|
+
over: "%{from} o più"
|
|
1100
|
+
title: Durata dall'inizio alla fine
|
|
1101
|
+
under: meno di %{to}
|
|
1102
|
+
series:
|
|
1103
|
+
cancelled: Annullate
|
|
1104
|
+
finished: Terminate
|
|
1105
|
+
runs: Esecuzioni
|
|
1106
|
+
started: Avviate
|
|
1107
|
+
throughput:
|
|
1108
|
+
caption: 'Esecuzioni avviate, terminate e annullate per %{bucket} in %{window}: %{started} avviate, %{finished} terminate, %{cancelled} annullate.'
|
|
1109
|
+
headers:
|
|
1110
|
+
cancelled: Annullate
|
|
1111
|
+
finished: Terminate
|
|
1112
|
+
from: Da
|
|
1113
|
+
started: Avviate
|
|
1114
|
+
title: Esecuzioni per %{bucket}
|
|
1115
|
+
description: 'In %{window}: dove sono ora le sue esecuzioni, come si comporta ogni passo e dove si fermano le esecuzioni.'
|
|
1116
|
+
funnel:
|
|
1117
|
+
caption:
|
|
1118
|
+
one: 'Della %{count} esecuzione avviata nella finestra: quante hanno raggiunto ogni passo e dove si trova ora.'
|
|
1119
|
+
other: 'Delle %{count} esecuzioni avviate nella finestra: quante hanno raggiunto ogni passo e dove si trova ora ciascuna.'
|
|
1120
|
+
empty: Nessuna esecuzione avviata in questa finestra.
|
|
1121
|
+
headers:
|
|
1122
|
+
now_here: Ora a questo passo
|
|
1123
|
+
reached: Raggiunto
|
|
1124
|
+
share: Delle avviate
|
|
1125
|
+
step: Passo
|
|
1126
|
+
here:
|
|
1127
|
+
cancelled:
|
|
1128
|
+
one: "%{count} annullata"
|
|
1129
|
+
other: "%{count} annullate"
|
|
1130
|
+
finished:
|
|
1131
|
+
one: "%{count} terminata"
|
|
1132
|
+
other: "%{count} terminate"
|
|
1133
|
+
paused:
|
|
1134
|
+
one: "%{count} in pausa"
|
|
1135
|
+
other: "%{count} in pausa"
|
|
1136
|
+
performing:
|
|
1137
|
+
one: "%{count} in esecuzione"
|
|
1138
|
+
other: "%{count} in esecuzione"
|
|
1139
|
+
ready:
|
|
1140
|
+
one: "%{count} pianificata"
|
|
1141
|
+
other: "%{count} pianificate"
|
|
1142
|
+
waiting:
|
|
1143
|
+
one: "%{count} in attesa"
|
|
1144
|
+
other: "%{count} in attesa"
|
|
1145
|
+
title: Imbuto
|
|
1146
|
+
pipeline:
|
|
1147
|
+
attempts:
|
|
1148
|
+
one: "%{count} tentativo"
|
|
1149
|
+
other: "%{count} tentativi"
|
|
1150
|
+
caption: 'Ogni passo in ordine: le esecuzioni ferme lì ora e come sono andati i suoi tentativi terminati nella finestra.'
|
|
1151
|
+
empty: 'Ancora nessun passo: nessuna esecuzione di questa classe ha un passo nella finestra e nessuna è in corso.'
|
|
1152
|
+
failed: Falliti
|
|
1153
|
+
kinds:
|
|
1154
|
+
fan_out: Fan-out
|
|
1155
|
+
removed: Rimosso
|
|
1156
|
+
signal: Attende un segnale
|
|
1157
|
+
undeclared: Non nella definizione
|
|
1158
|
+
live:
|
|
1159
|
+
paused: In pausa
|
|
1160
|
+
performing: In esecuzione
|
|
1161
|
+
ready: Pianificate
|
|
1162
|
+
waiting: In attesa
|
|
1163
|
+
now_label: Esecuzioni a questo passo ora
|
|
1164
|
+
pickup: Presa in carico
|
|
1165
|
+
reattempted: Ritentati
|
|
1166
|
+
run_time: Tempo di esecuzione
|
|
1167
|
+
skipped: Saltati
|
|
1168
|
+
step_link: Esecuzioni in corso a %{step}
|
|
1169
|
+
title: Pipeline
|
|
1170
|
+
window_label: Tentativi terminati nella finestra
|
|
1171
|
+
summary:
|
|
1172
|
+
attention: Richiedono attenzione
|
|
1173
|
+
cancelled: Annullate
|
|
1174
|
+
duration: Durata p50
|
|
1175
|
+
finished: Terminate
|
|
1176
|
+
ongoing: In corso
|
|
1177
|
+
started: Avviate
|
|
1178
|
+
window_label: Finestra temporale
|
|
1179
|
+
windows:
|
|
1180
|
+
1h: l'ultima ora
|
|
1181
|
+
24h: le ultime 24 ore
|
|
1182
|
+
30d: gli ultimi 30 giorni
|
|
1183
|
+
7d: gli ultimi 7 giorni
|
|
1184
|
+
workflows:
|
|
1185
|
+
actions:
|
|
1186
|
+
bulk_cancel: Annulla tutti
|
|
1187
|
+
bulk_resume: Riprendi tutti
|
|
1188
|
+
cancel: Annulla
|
|
1189
|
+
rerun: Riesegui
|
|
1190
|
+
resume: Riprendi
|
|
1191
|
+
resume_at: Riprendi dal passaggio
|
|
1192
|
+
run_now: Esegui ora
|
|
1193
|
+
signal: Invia segnale
|
|
1194
|
+
skip_step: Salta passaggio
|
|
1195
|
+
attempt: tentativo %{attempt}
|
|
1196
|
+
attention:
|
|
1197
|
+
at_step_html: a %{step}
|
|
1198
|
+
back: "← Workflow"
|
|
1199
|
+
cancel_all:
|
|
1200
|
+
one: Annulla %{count}
|
|
1201
|
+
other: Annulla tutte (%{count})
|
|
1202
|
+
confirm:
|
|
1203
|
+
cancel:
|
|
1204
|
+
one: Annullare l'esecuzione bloccata a %{step}?
|
|
1205
|
+
other: Annullare tutte le %{count} esecuzioni bloccate a %{step}?
|
|
1206
|
+
cancel_error:
|
|
1207
|
+
one: Annullare l'esecuzione bloccata a %{step} per %{error}?
|
|
1208
|
+
other: Annullare tutte le %{count} esecuzioni bloccate a %{step} per %{error}?
|
|
1209
|
+
resume:
|
|
1210
|
+
one: Riprendere l'esecuzione in pausa a %{step}?
|
|
1211
|
+
other: Riprendere tutte le %{count} esecuzioni in pausa a %{step}?
|
|
1212
|
+
resume_error:
|
|
1213
|
+
one: Riprendere l'esecuzione in pausa a %{step} per %{error}?
|
|
1214
|
+
other: Riprendere tutte le %{count} esecuzioni in pausa a %{step} per %{error}?
|
|
1215
|
+
description: Esecuzioni in corso che attendono una persona, raggruppate in base a ciò che le ha fermate. Una volta risolta la causa, agisci sull'intero gruppo.
|
|
1216
|
+
empty_hint: Nessuna esecuzione in corso è in pausa, in stallo, in ritardo o in attesa oltre workflow_waiting_visibility_threshold.
|
|
1217
|
+
empty_title: Niente richiede attenzione.
|
|
1218
|
+
first_seen_html: prima volta %{time}
|
|
1219
|
+
headers:
|
|
1220
|
+
actions: Azioni
|
|
1221
|
+
reason: Motivo
|
|
1222
|
+
runs: Esecuzioni
|
|
1223
|
+
seen: Visto
|
|
1224
|
+
workflow: Workflow
|
|
1225
|
+
last_seen_html: ultima volta %{time}
|
|
1226
|
+
only_class_html: Solo %{workflow}.
|
|
1227
|
+
reasons:
|
|
1228
|
+
overdue: 'In ritardo: prevista, ma non presa'
|
|
1229
|
+
paused_error: In pausa per un errore
|
|
1230
|
+
paused_manual: Messa in pausa a mano
|
|
1231
|
+
stalled: 'In stallo: il suo worker ha smesso di rispondere'
|
|
1232
|
+
waiting_overdue: Attesa troppo lunga
|
|
1233
|
+
resume_all:
|
|
1234
|
+
one: Riprendi %{count}
|
|
1235
|
+
other: Riprendi tutte (%{count})
|
|
1236
|
+
show_all: Mostra tutte le classi
|
|
1237
|
+
show_runs: Mostra esecuzioni
|
|
1238
|
+
title: Richiedono attenzione
|
|
1239
|
+
audit:
|
|
1240
|
+
by: "%{event} da %{actor}"
|
|
1241
|
+
empty: Nessun evento registrato.
|
|
1242
|
+
headers:
|
|
1243
|
+
what: Cosa è successo
|
|
1244
|
+
when: Quando
|
|
1245
|
+
title: Registro di audit
|
|
1246
|
+
with_reason: "%{sentence}: %{reason}"
|
|
1247
|
+
with_step: "%{sentence} (%{step} #%{attempt})"
|
|
1248
|
+
bad_request: 'Richiesta non valida: %{reason}'
|
|
1249
|
+
confirm:
|
|
1250
|
+
cancel: Annullare questo workflow? I suoi passaggi aperti vengono annullati e non verrà più eseguito.
|
|
1251
|
+
rerun: Avviare di nuovo questo workflow come nuova esecuzione, con lo stesso soggetto e gli stessi argomenti?
|
|
1252
|
+
resume: Riprendere questo workflow?
|
|
1253
|
+
resume_at: Riprendere questo workflow dal passaggio scelto? I suoi passaggi aperti vengono prima annullati.
|
|
1254
|
+
run_now: Eseguire ora il passaggio pianificato invece di attendere?
|
|
1255
|
+
signal: Inviare questo segnale al workflow?
|
|
1256
|
+
skip_step: Saltare il passaggio atteso da questo workflow e passare al successivo?
|
|
1257
|
+
events:
|
|
1258
|
+
cancelled: Annullato
|
|
1259
|
+
fan_out_finished: Fan-out terminato
|
|
1260
|
+
fan_out_opened: Fan-out aperto
|
|
1261
|
+
finished: Terminato
|
|
1262
|
+
late_completion_ignored: Completamento tardivo ignorato
|
|
1263
|
+
paused: In pausa
|
|
1264
|
+
rerun: Rieseguito
|
|
1265
|
+
rescheduled: Ripianificato
|
|
1266
|
+
resumed: Ripreso
|
|
1267
|
+
run_now: Esegui ora
|
|
1268
|
+
signal_claimed: Segnale preso in carico
|
|
1269
|
+
signal_received: Segnale ricevuto
|
|
1270
|
+
stall_detected: Stallo rilevato
|
|
1271
|
+
started: Avviato
|
|
1272
|
+
step_completed: Passaggio completato
|
|
1273
|
+
step_failed: Passaggio fallito
|
|
1274
|
+
step_reattempted: Passaggio ritentato
|
|
1275
|
+
step_scheduled: Passaggio pianificato
|
|
1276
|
+
step_skipped: Passaggio saltato
|
|
1277
|
+
step_started: Passaggio avviato
|
|
1278
|
+
step_waiting: Passaggio in attesa
|
|
1279
|
+
wait_timed_out: Attesa scaduta
|
|
1280
|
+
filters:
|
|
1281
|
+
apply: Applica filtri
|
|
1282
|
+
clear: Cancella
|
|
1283
|
+
created_from: Creato dal
|
|
1284
|
+
created_to: Creato fino al
|
|
1285
|
+
ended_from: Terminato dal
|
|
1286
|
+
ended_to: Terminato fino al
|
|
1287
|
+
error_class: Classe di errore
|
|
1288
|
+
step: Passaggio corrente
|
|
1289
|
+
subject_id: ID del soggetto
|
|
1290
|
+
subject_type: Tipo di soggetto
|
|
1291
|
+
workflow_class: Classe del workflow
|
|
1292
|
+
workflow_id: ID del workflow
|
|
1293
|
+
flash:
|
|
1294
|
+
bad_group: Quel gruppo non è valido.
|
|
1295
|
+
bulk_cancel:
|
|
1296
|
+
one: "%{count} annullato."
|
|
1297
|
+
other: "%{count} annullati."
|
|
1298
|
+
bulk_cancel_skipped: "%{count} annullati; %{skipped} erano già andati avanti."
|
|
1299
|
+
bulk_failed: 'Impossibile modificarne %{count}: %{reason}'
|
|
1300
|
+
bulk_more: 'Potrebbero esserci altre esecuzioni in attesa: premi di nuovo per le prossime %{cap}.'
|
|
1301
|
+
bulk_resume:
|
|
1302
|
+
one: "%{count} ripreso."
|
|
1303
|
+
other: "%{count} ripresi."
|
|
1304
|
+
bulk_resume_skipped: "%{count} ripresi; %{skipped} erano già andati avanti."
|
|
1305
|
+
cancel: Workflow annullato.
|
|
1306
|
+
choose_step: Scegli un passaggio da cui riprendere.
|
|
1307
|
+
failed:
|
|
1308
|
+
not_allowed: 'Non eseguito: l''esecuzione è ora %{status}.'
|
|
1309
|
+
not_found: Quel workflow non esiste più.
|
|
1310
|
+
other: "%{action} non riuscito: %{reason}"
|
|
1311
|
+
payload_not_object: 'Non inviato: il payload non è un oggetto JSON.'
|
|
1312
|
+
payload_too_large: 'Non inviato: il payload supera %{limit} byte.'
|
|
1313
|
+
rerun: Avviata una nuova esecuzione.
|
|
1314
|
+
resume: Workflow ripreso.
|
|
1315
|
+
resume_at: Workflow ripreso da %{step}.
|
|
1316
|
+
run_now: Il passaggio pianificato viene eseguito ora.
|
|
1317
|
+
signal: Segnale %{name} inviato.
|
|
1318
|
+
signal_duplicate: Il segnale %{name} è già stato consegnato con questa chiave; non è stato inviato nulla di nuovo.
|
|
1319
|
+
signal_name_missing: 'Non inviato: il segnale ha bisogno di un nome.'
|
|
1320
|
+
skip_step: Passaggio saltato.
|
|
1321
|
+
headers:
|
|
1322
|
+
current_step: Passaggio corrente
|
|
1323
|
+
last_activity: Ultima attività
|
|
1324
|
+
started: Avviato
|
|
1325
|
+
status: Stato
|
|
1326
|
+
subject: Soggetto
|
|
1327
|
+
workflow: Workflow
|
|
1328
|
+
index:
|
|
1329
|
+
attention_link:
|
|
1330
|
+
one: Richiede attenzione (%{count})
|
|
1331
|
+
other: Richiedono attenzione (%{count})
|
|
1332
|
+
description: 'Esecuzioni durevoli in più passaggi: cosa sta facendo ciascuna e cosa succede dopo.'
|
|
1333
|
+
empty_hint: Scegli un altro stato o cancella i filtri. Un'esecuzione parte con YourWorkflow.start!(subject, **arguments).
|
|
1334
|
+
empty_title: Nessun workflow corrisponde.
|
|
1335
|
+
insights_link: Analisi per classe
|
|
1336
|
+
status_label: Filtra per stato
|
|
1337
|
+
title: Workflow
|
|
1338
|
+
next:
|
|
1339
|
+
cancelled_html: Annullato %{ago}.
|
|
1340
|
+
due_html: 'Pronto: %{step} era previsto %{ago} e attende un worker.'
|
|
1341
|
+
finished_html: Terminato %{ago}.
|
|
1342
|
+
overdue_html: 'In ritardo: %{step} era previsto %{ago}; la scansione lo invia di nuovo.'
|
|
1343
|
+
paused_error_html: 'In pausa su %{step}: %{error} — riprendi o annulla.'
|
|
1344
|
+
paused_manual_html: In pausa su %{step} — riprendi o annulla.
|
|
1345
|
+
performing_attempt_html: Esecuzione di %{step} (tentativo %{attempt}).
|
|
1346
|
+
performing_html: Esecuzione di %{step}.
|
|
1347
|
+
ready_html: 'Pronto: %{step} viene eseguito subito dopo.'
|
|
1348
|
+
scheduled_html: 'Pianificato: %{step} viene eseguito %{time}.'
|
|
1349
|
+
unknown_html: 'Stato: %{status}.'
|
|
1350
|
+
waiting_batch_html: In attesa del lotto %{batch} (%{done} lavori su %{total} completati).
|
|
1351
|
+
waiting_signal_html: In attesa del segnale %{signal} da %{ago}.
|
|
1352
|
+
waiting_signal_timeout_html: In attesa del segnale %{signal} da %{ago}. L'attesa scade %{time}.
|
|
1353
|
+
waiting_step_html: In attesa di %{step}.
|
|
1354
|
+
not_found:
|
|
1355
|
+
hint: Potrebbe essere terminato e rimosso dopo workflow_retention, oppure non è stato possibile leggere il database (vedi il log).
|
|
1356
|
+
title: Workflow non trovato
|
|
1357
|
+
outcomes:
|
|
1358
|
+
cancelled: annullato
|
|
1359
|
+
completed: completato
|
|
1360
|
+
finished_early: ha terminato l'esecuzione in anticipo
|
|
1361
|
+
paused: ha messo in pausa l'esecuzione
|
|
1362
|
+
reattempted: ritentato
|
|
1363
|
+
skipped: saltato
|
|
1364
|
+
resume:
|
|
1365
|
+
carry_on: 'Riprendi: prosegui con %{step}'
|
|
1366
|
+
continue: 'Riprendi: continua con %{step}'
|
|
1367
|
+
finish: 'Riprendi: termina l''esecuzione'
|
|
1368
|
+
resend: 'Riprendi: invia di nuovo %{step}'
|
|
1369
|
+
retry: 'Riprendi: riprova %{step}'
|
|
1370
|
+
rewait: 'Riprendi: attendi di nuovo %{step}'
|
|
1371
|
+
show:
|
|
1372
|
+
actions: Azioni
|
|
1373
|
+
arguments: Argomenti
|
|
1374
|
+
back: "← Workflow"
|
|
1375
|
+
cancelled_at: Annullato
|
|
1376
|
+
class_missing: "%{workflow_class} non è caricato in questo processo: l'esecuzione può ancora essere annullata, ma non ripresa."
|
|
1377
|
+
definition_outdated: 'Questa esecuzione è partita con una definizione precedente di %{workflow_class}: da allora i suoi passaggi sono cambiati.'
|
|
1378
|
+
details: Dettagli
|
|
1379
|
+
finished_at: Terminato
|
|
1380
|
+
no_arguments: Questa esecuzione non ha argomenti.
|
|
1381
|
+
paused_at: In pausa
|
|
1382
|
+
reason_hint: Registrato nel registro di audit, insieme a chi l'ha fatto.
|
|
1383
|
+
reason_label: Motivo (facoltativo)
|
|
1384
|
+
rerun_of: Riesecuzione di
|
|
1385
|
+
reruns: Rieseguito come
|
|
1386
|
+
resume_at_label: Passaggio da cui riprendere
|
|
1387
|
+
signal:
|
|
1388
|
+
hint: Un passaggio che lo attende si risveglia subito; altrimenti resta in sospeso finché un passaggio lo prende.
|
|
1389
|
+
name: Nome del segnale
|
|
1390
|
+
payload: Payload (JSON)
|
|
1391
|
+
send: Invia segnale
|
|
1392
|
+
title: Invia un segnale
|
|
1393
|
+
signal_statuses:
|
|
1394
|
+
claimed: Presa in carico
|
|
1395
|
+
consumed: Consumato
|
|
1396
|
+
pending: In sospeso
|
|
1397
|
+
signals:
|
|
1398
|
+
empty: Nessun segnale consegnato a questa esecuzione.
|
|
1399
|
+
headers:
|
|
1400
|
+
claimed: Preso in carico
|
|
1401
|
+
consumed: Consumato
|
|
1402
|
+
idempotency_key: Chiave di idempotenza
|
|
1403
|
+
name: Segnale
|
|
1404
|
+
received: Ricevuto
|
|
1405
|
+
status: Stato
|
|
1406
|
+
payload: Payload
|
|
1407
|
+
title: Segnali
|
|
1408
|
+
statuses:
|
|
1409
|
+
cancelled: Annullato
|
|
1410
|
+
finished: Terminato
|
|
1411
|
+
gone: scomparso
|
|
1412
|
+
paused: In pausa
|
|
1413
|
+
performing: In esecuzione
|
|
1414
|
+
ready: Pronto
|
|
1415
|
+
scheduled: Pianificato
|
|
1416
|
+
waiting: In attesa
|
|
1417
|
+
step_statuses:
|
|
1418
|
+
cancelled: Annullato
|
|
1419
|
+
completed: Completato
|
|
1420
|
+
failed: Fallito
|
|
1421
|
+
in_progress: In esecuzione
|
|
1422
|
+
scheduled: Pianificato
|
|
1423
|
+
skipped: Saltato
|
|
1424
|
+
waiting: In attesa
|
|
1425
|
+
steps:
|
|
1426
|
+
batch: lotto %{batch}
|
|
1427
|
+
caused_by: Causato da %{error}
|
|
1428
|
+
empty: Ancora nessun tentativo.
|
|
1429
|
+
headers:
|
|
1430
|
+
finished: Terminato
|
|
1431
|
+
queued: In coda
|
|
1432
|
+
ran: Esecuzione
|
|
1433
|
+
scheduled: Pianificato
|
|
1434
|
+
started: Avviato
|
|
1435
|
+
status: Stato
|
|
1436
|
+
step: Passaggio
|
|
1437
|
+
waited: Attesa
|
|
1438
|
+
worker: Worker
|
|
1439
|
+
revision: revisione %{revision}
|
|
1440
|
+
show_backtrace: Mostra backtrace
|
|
1441
|
+
title: Tentativi
|
|
1442
|
+
waiting_for: poi in attesa per %{duration}
|
|
1443
|
+
waits_for_html: attende %{signal}
|
|
1444
|
+
tabs:
|
|
1445
|
+
all: Tutti
|
|
1446
|
+
cancelled: Annullati
|
|
1447
|
+
finished: Terminati
|
|
1448
|
+
ongoing: In corso
|
|
1449
|
+
paused: In pausa
|
|
1450
|
+
performing: In esecuzione
|
|
1451
|
+
ready: Pronti
|
|
1452
|
+
waiting: In attesa
|
|
1453
|
+
timeline:
|
|
1454
|
+
caption: 'Ogni tentativo, il più vecchio in alto: atteso (la sua attesa), in coda (previsto, non ancora preso), eseguito (colorato in base a come è finito) e in attesa (di un segnale o del suo lotto), con le pause su una riga a parte. La tabella dei tentativi qui sotto riporta le stesse durate.'
|
|
1455
|
+
empty: Ancora nessun tentativo.
|
|
1456
|
+
paused_period_html: In pausa dalle %{from} per %{duration}
|
|
1457
|
+
paused_row: In pausa
|
|
1458
|
+
series:
|
|
1459
|
+
paused: In pausa
|
|
1460
|
+
queued: In coda
|
|
1461
|
+
ran_cancelled: Eseguito, annullato
|
|
1462
|
+
ran_failed: Eseguito, fallito
|
|
1463
|
+
ran_ok: Eseguito
|
|
1464
|
+
ran_open: In esecuzione
|
|
1465
|
+
waited: Atteso
|
|
1466
|
+
waiting: In attesa
|
|
1467
|
+
title: Cronologia
|