pgbus 0.19.3 → 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.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +104 -9
  4. data/Rakefile +6 -1
  5. data/app/controllers/pgbus/dashboard_controller.rb +2 -0
  6. data/app/controllers/pgbus/workflow_definitions_controller.rb +28 -0
  7. data/app/controllers/pgbus/workflows_controller.rb +197 -0
  8. data/app/frontend/pgbus/modules/charts.js +130 -4
  9. data/app/frontend/pgbus/modules/charts.min.js +1 -1
  10. data/app/frontend/pgbus/modules/charts.min.js.map +1 -1
  11. data/app/frontend/pgbus/style.css +1 -1
  12. data/app/helpers/pgbus/button_helper.rb +4 -2
  13. data/app/helpers/pgbus/workflow_insights_helper.rb +129 -0
  14. data/app/helpers/pgbus/workflows_helper.rb +165 -0
  15. data/app/models/pgbus/workflow_entry.rb +172 -0
  16. data/app/models/pgbus/workflow_event.rb +43 -0
  17. data/app/models/pgbus/workflow_signal.rb +77 -0
  18. data/app/models/pgbus/workflow_step.rb +142 -0
  19. data/app/views/layouts/pgbus/application.html.erb +2 -0
  20. data/app/views/pgbus/dashboard/_stats_cards.html.erb +17 -0
  21. data/app/views/pgbus/workflows/_actions.html.erb +59 -0
  22. data/app/views/pgbus/workflows/_events_table.html.erb +24 -0
  23. data/app/views/pgbus/workflows/_filters.html.erb +29 -0
  24. data/app/views/pgbus/workflows/_signal_form.html.erb +31 -0
  25. data/app/views/pgbus/workflows/_signals_table.html.erb +40 -0
  26. data/app/views/pgbus/workflows/_status_filter.html.erb +12 -0
  27. data/app/views/pgbus/workflows/_steps_table.html.erb +79 -0
  28. data/app/views/pgbus/workflows/_timeline.html.erb +39 -0
  29. data/app/views/pgbus/workflows/_workflows_table.html.erb +59 -0
  30. data/app/views/pgbus/workflows/attention.html.erb +88 -0
  31. data/app/views/pgbus/workflows/definitions/_by_revision.html.erb +52 -0
  32. data/app/views/pgbus/workflows/definitions/_duration_table.html.erb +18 -0
  33. data/app/views/pgbus/workflows/definitions/_funnel.html.erb +49 -0
  34. data/app/views/pgbus/workflows/definitions/_pipeline.html.erb +16 -0
  35. data/app/views/pgbus/workflows/definitions/_step_card.html.erb +31 -0
  36. data/app/views/pgbus/workflows/definitions/_throughput_table.html.erb +32 -0
  37. data/app/views/pgbus/workflows/definitions/_window.html.erb +17 -0
  38. data/app/views/pgbus/workflows/definitions/index.html.erb +71 -0
  39. data/app/views/pgbus/workflows/definitions/not_found.html.erb +5 -0
  40. data/app/views/pgbus/workflows/definitions/show.html.erb +80 -0
  41. data/app/views/pgbus/workflows/index.html.erb +15 -0
  42. data/app/views/pgbus/workflows/not_found.html.erb +5 -0
  43. data/app/views/pgbus/workflows/show.html.erb +93 -0
  44. data/config/i18n-tasks.yml +6 -0
  45. data/config/locales/da.yml +442 -0
  46. data/config/locales/de.yml +442 -0
  47. data/config/locales/en.yml +442 -0
  48. data/config/locales/es.yml +442 -0
  49. data/config/locales/fi.yml +442 -0
  50. data/config/locales/fr.yml +442 -0
  51. data/config/locales/it.yml +442 -0
  52. data/config/locales/ja.yml +442 -0
  53. data/config/locales/nb.yml +442 -0
  54. data/config/locales/nl.yml +442 -0
  55. data/config/locales/pt.yml +442 -0
  56. data/config/locales/sv.yml +442 -0
  57. data/config/routes.rb +26 -0
  58. data/lib/generators/pgbus/add_workflow_signals_generator.rb +56 -0
  59. data/lib/generators/pgbus/add_workflows_generator.rb +54 -0
  60. data/lib/generators/pgbus/templates/add_workflow_signals.rb.erb +51 -0
  61. data/lib/generators/pgbus/templates/add_workflows.rb.erb +150 -0
  62. data/lib/generators/pgbus/templates/migration.rb.erb +127 -0
  63. data/lib/pgbus/active_job/adapter.rb +67 -26
  64. data/lib/pgbus/active_job/batch_id.rb +23 -1
  65. data/lib/pgbus/active_job/delivery.rb +49 -0
  66. data/lib/pgbus/active_job/executor.rb +3 -1
  67. data/lib/pgbus/batch/builder.rb +1 -0
  68. data/lib/pgbus/batch.rb +35 -3
  69. data/lib/pgbus/configuration/workflow_settings.rb +99 -0
  70. data/lib/pgbus/configuration.rb +21 -3
  71. data/lib/pgbus/generators/migration_detector.rb +40 -0
  72. data/lib/pgbus/instrumentation.rb +32 -0
  73. data/lib/pgbus/integrations/appsignal/dashboard.json +128 -1
  74. data/lib/pgbus/integrations/appsignal/event_span.rb +43 -0
  75. data/lib/pgbus/integrations/appsignal/job_span.rb +47 -0
  76. data/lib/pgbus/integrations/appsignal/span_subscriber.rb +128 -0
  77. data/lib/pgbus/integrations/appsignal/subscriber.rb +50 -100
  78. data/lib/pgbus/mcp/rack_app.rb +7 -2
  79. data/lib/pgbus/mcp/runner.rb +2 -1
  80. data/lib/pgbus/mcp/serialization.rb +25 -0
  81. data/lib/pgbus/mcp/server.rb +53 -10
  82. data/lib/pgbus/mcp/tools/deploy_tasks_tool.rb +1 -10
  83. data/lib/pgbus/mcp/tools/workflow_cancel_tool.rb +23 -0
  84. data/lib/pgbus/mcp/tools/workflow_definitions_tool.rb +36 -0
  85. data/lib/pgbus/mcp/tools/workflow_detail_tool.rb +38 -0
  86. data/lib/pgbus/mcp/tools/workflow_resume_at_tool.rb +32 -0
  87. data/lib/pgbus/mcp/tools/workflow_resume_tool.rb +24 -0
  88. data/lib/pgbus/mcp/tools/workflow_run_now_tool.rb +23 -0
  89. data/lib/pgbus/mcp/tools/workflow_signal_tool.rb +77 -0
  90. data/lib/pgbus/mcp/tools/workflow_skip_step_tool.rb +23 -0
  91. data/lib/pgbus/mcp/tools/workflow_stats_tool.rb +42 -0
  92. data/lib/pgbus/mcp/tools/workflows_attention_tool.rb +42 -0
  93. data/lib/pgbus/mcp/tools/workflows_tool.rb +60 -0
  94. data/lib/pgbus/mcp/workflow_insights_payload.rb +15 -0
  95. data/lib/pgbus/mcp/workflow_payloads.rb +53 -0
  96. data/lib/pgbus/mcp/write_tool.rb +134 -0
  97. data/lib/pgbus/mcp.rb +15 -0
  98. data/lib/pgbus/metrics/backends/statsd.rb +6 -0
  99. data/lib/pgbus/metrics/subscriber.rb +14 -1
  100. data/lib/pgbus/metrics/workflow_metrics.rb +65 -0
  101. data/lib/pgbus/process/dispatcher.rb +26 -0
  102. data/lib/pgbus/version.rb +1 -1
  103. data/lib/pgbus/web/data_source/workflow_actions.rb +109 -0
  104. data/lib/pgbus/web/data_source/workflow_insights.rb +99 -0
  105. data/lib/pgbus/web/data_source/workflow_list.rb +248 -0
  106. data/lib/pgbus/web/data_source.rb +3 -0
  107. data/lib/pgbus/web/workflow_action_plan.rb +62 -0
  108. data/lib/pgbus/web/workflow_insights_queries.rb +250 -0
  109. data/lib/pgbus/web/workflow_insights_report.rb +171 -0
  110. data/lib/pgbus/web/workflow_payload.rb +36 -0
  111. data/lib/pgbus/web/workflow_query.rb +82 -0
  112. data/lib/pgbus/web/workflow_state.rb +76 -0
  113. data/lib/pgbus/web/workflow_timeline.rb +113 -0
  114. data/lib/pgbus/web/workflow_window.rb +51 -0
  115. data/lib/pgbus/workflow/batch_finished_job.rb +21 -0
  116. data/lib/pgbus/workflow/dsl.rb +105 -0
  117. data/lib/pgbus/workflow/error_capture.rb +63 -0
  118. data/lib/pgbus/workflow/exception_policy.rb +170 -0
  119. data/lib/pgbus/workflow/fan_out.rb +157 -0
  120. data/lib/pgbus/workflow/fan_out_definition.rb +41 -0
  121. data/lib/pgbus/workflow/flow_control.rb +94 -0
  122. data/lib/pgbus/workflow/instance.rb +183 -0
  123. data/lib/pgbus/workflow/outside_verbs.rb +138 -0
  124. data/lib/pgbus/workflow/payload.rb +53 -0
  125. data/lib/pgbus/workflow/registry.rb +53 -0
  126. data/lib/pgbus/workflow/removed_step.rb +14 -0
  127. data/lib/pgbus/workflow/runner.rb +218 -0
  128. data/lib/pgbus/workflow/signal_matcher.rb +53 -0
  129. data/lib/pgbus/workflow/signals.rb +132 -0
  130. data/lib/pgbus/workflow/states.rb +119 -0
  131. data/lib/pgbus/workflow/step_context.rb +58 -0
  132. data/lib/pgbus/workflow/step_definition.rb +131 -0
  133. data/lib/pgbus/workflow/step_execution.rb +242 -0
  134. data/lib/pgbus/workflow/step_job.rb +28 -0
  135. data/lib/pgbus/workflow/step_outcome.rb +151 -0
  136. data/lib/pgbus/workflow/steps.rb +103 -0
  137. data/lib/pgbus/workflow/sweep.rb +156 -0
  138. data/lib/pgbus/workflow/test_helpers.rb +152 -0
  139. data/lib/pgbus/workflow/wait_timeout.rb +73 -0
  140. data/lib/pgbus/workflow/waiting.rb +82 -0
  141. data/lib/pgbus/workflow.rb +183 -0
  142. data/sig/pgbus/configuration.rbs +22 -0
  143. metadata +95 -1
@@ -140,6 +140,11 @@ ja:
140
140
  throughput: スループット
141
141
  throughput_detail: 過去 %{minutes} 分のジョブ/分
142
142
  throughput_unavailable: ジョブ統計が必要です (rails g pgbus:add_job_stats)
143
+ workflows: ワークフロー
144
+ workflows_attention:
145
+ one: "%{count} 件が要対応"
146
+ other: "%{count} 件が要対応"
147
+ workflows_detail: 進行中(一時停止 %{paused} 件)
143
148
  verdict:
144
149
  links:
145
150
  dlq: デッドレター
@@ -723,6 +728,7 @@ ja:
723
728
  processes: プロセス
724
729
  queues: キュー
725
730
  recurring: 定期実行
731
+ workflows: ワークフロー
726
732
  return_to_app: アプリに戻る
727
733
  title: Pgbus ダッシュボード
728
734
  toggle_dark_mode: ダークモード切替
@@ -1023,3 +1029,439 @@ ja:
1023
1029
  disabled: タスクが無効になりました
1024
1030
  enabled: タスクが有効になりました
1025
1031
  failed: タスクの切り替えに失敗しました
1032
+ workflow_insights:
1033
+ back_to_classes: すべてのワークフロークラス
1034
+ back_to_runs: すべてのワークフロー実行
1035
+ bad_request: '不正なリクエスト: %{reason}'
1036
+ capped: 'workflow_retention(%{retention})で上限を設定: それより古い完了・キャンセル済みの実行は削除されます。'
1037
+ few_samples:
1038
+ one: n=%{count}、サンプル少
1039
+ other: n=%{count}、サンプル少
1040
+ index:
1041
+ description: "%{window}の各ワークフロークラスの状況: 現在進行中の実行、終了した実行、開始から終了までの所要時間。"
1042
+ empty_hint: 'Pgbus::Workflow のサブクラスを定義して実行を開始してください: YourWorkflow.start!(subject, **arguments)。'
1043
+ empty_title: まだ実行されたワークフロークラスはありません。
1044
+ headers:
1045
+ attention: 要対応
1046
+ cancelled: キャンセル
1047
+ duration_p50: 所要時間 p50
1048
+ duration_p95: 所要時間 p95
1049
+ finished: 完了
1050
+ ongoing: 進行中
1051
+ paused: 一時停止
1052
+ workflow_class: ワークフロークラス
1053
+ title: ワークフローインサイト
1054
+ links:
1055
+ at_step: "%{step} の%{status}の実行"
1056
+ attention: "%{workflow} の要対応の実行"
1057
+ cancelled: "%{workflow} の期間内にキャンセルされた実行"
1058
+ cancelled_bucket: この区間にキャンセルされた実行
1059
+ finished: "%{workflow} の期間内に完了した実行"
1060
+ finished_bucket: この区間に完了した実行
1061
+ ongoing: "%{workflow} の進行中の実行"
1062
+ paused: "%{workflow} の一時停止中の実行"
1063
+ started: "%{workflow} の期間内に開始した実行"
1064
+ started_bucket: この区間に開始した実行
1065
+ not_found:
1066
+ hint: "%{workflow} という名前の Pgbus::Workflow サブクラスも実行もありません(または読み込みに失敗しました。ログを確認してください)。"
1067
+ title: 不明なワークフロークラス
1068
+ not_loaded: 定義が読み込まれていません
1069
+ not_loaded_hint: 'このクラスはアプリで読み込まれなくなりました: ステップは実行の行から取得し、実行が到達した順に並べています。'
1070
+ percentile: "%{name} %{value}"
1071
+ removed_in_flight:
1072
+ one: 削除済みステップ %{step} 上の実行 %{count}件
1073
+ other: 削除済みステップ %{step} 上の実行 %{count}件
1074
+ show:
1075
+ by_revision:
1076
+ all_steps: すべてのステップ
1077
+ caption: '期間内に試行を終了した直近5つのアプリリビジョンの同じ数値(新しい順): デプロイ後の悪化は行として現れます。'
1078
+ empty: この期間の試行にはアプリのリビジョンが記録されていません(config.app_revision)。
1079
+ headers:
1080
+ attempts: 試行
1081
+ failed: 失敗
1082
+ reattempted: 再試行
1083
+ revision: リビジョン
1084
+ run_time: 実行時間
1085
+ skipped: スキップ
1086
+ step: ステップ
1087
+ seen_html: "%{from}〜%{to}に確認"
1088
+ title: アプリのリビジョン別
1089
+ worse: "%{revision} の %{rate} から上昇"
1090
+ charts:
1091
+ durations:
1092
+ between: "%{from}–%{to}"
1093
+ caption:
1094
+ one: 期間内に完了した %{count} 件の実行が開始から終了までにかかった時間。
1095
+ other: 期間内に完了した %{count} 件の実行が開始から終了までにかかった時間。
1096
+ headers:
1097
+ range: 所要時間
1098
+ runs: 実行
1099
+ over: "%{from}以上"
1100
+ title: 開始から終了までの所要時間
1101
+ under: "%{to}未満"
1102
+ series:
1103
+ cancelled: キャンセル
1104
+ finished: 完了
1105
+ runs: 実行
1106
+ started: 開始
1107
+ throughput:
1108
+ caption: "%{window}の%{bucket}ごとの開始・完了・キャンセルされた実行: 開始 %{started}、完了 %{finished}、キャンセル %{cancelled}。"
1109
+ headers:
1110
+ cancelled: キャンセル
1111
+ finished: 完了
1112
+ from: 開始時刻
1113
+ started: 開始
1114
+ title: "%{bucket}ごとの実行"
1115
+ description: "%{window}: 実行が今どこにあるか、各ステップの性能、実行が止まる場所。"
1116
+ funnel:
1117
+ caption:
1118
+ one: 期間内に開始した %{count} 件の実行のうち、各ステップに到達した数と、各実行の現在地。
1119
+ other: 期間内に開始した %{count} 件の実行のうち、各ステップに到達した数と、各実行の現在地。
1120
+ empty: この期間に開始した実行はありません。
1121
+ headers:
1122
+ now_here: 現在このステップ
1123
+ reached: 到達
1124
+ share: 開始に対する割合
1125
+ step: ステップ
1126
+ here:
1127
+ cancelled:
1128
+ one: キャンセル %{count}
1129
+ other: キャンセル %{count}
1130
+ finished:
1131
+ one: 完了 %{count}
1132
+ other: 完了 %{count}
1133
+ paused:
1134
+ one: 一時停止 %{count}
1135
+ other: 一時停止 %{count}
1136
+ performing:
1137
+ one: 実行中 %{count}
1138
+ other: 実行中 %{count}
1139
+ ready:
1140
+ one: 予定 %{count}
1141
+ other: 予定 %{count}
1142
+ waiting:
1143
+ one: 待機中 %{count}
1144
+ other: 待機中 %{count}
1145
+ title: ファネル
1146
+ pipeline:
1147
+ attempts:
1148
+ one: "%{count}回の試行"
1149
+ other: "%{count}回の試行"
1150
+ caption: '各ステップを順に: 現在そのステップにある実行と、期間内に終了した試行の結果。'
1151
+ empty: 'ステップはまだありません: このクラスの実行には期間内のステップがなく、進行中のものもありません。'
1152
+ failed: 失敗
1153
+ kinds:
1154
+ fan_out: ファンアウト
1155
+ removed: 削除済み
1156
+ signal: シグナル待ち
1157
+ undeclared: 定義にない
1158
+ live:
1159
+ paused: 一時停止
1160
+ performing: 実行中
1161
+ ready: 予定
1162
+ waiting: 待機中
1163
+ now_label: 現在このステップにある実行
1164
+ pickup: 取得までの時間
1165
+ reattempted: 再試行
1166
+ run_time: 実行時間
1167
+ skipped: スキップ
1168
+ step_link: "%{step} の進行中の実行"
1169
+ title: パイプライン
1170
+ window_label: 期間内に終了した試行
1171
+ summary:
1172
+ attention: 要対応
1173
+ cancelled: キャンセル
1174
+ duration: 所要時間 p50
1175
+ finished: 完了
1176
+ ongoing: 進行中
1177
+ started: 開始
1178
+ window_label: 期間
1179
+ windows:
1180
+ 1h: 直近1時間
1181
+ 24h: 直近24時間
1182
+ 30d: 直近30日間
1183
+ 7d: 直近7日間
1184
+ workflows:
1185
+ actions:
1186
+ bulk_cancel: すべてキャンセル
1187
+ bulk_resume: すべて再開
1188
+ cancel: キャンセル
1189
+ rerun: 再実行
1190
+ resume: 再開
1191
+ resume_at: ステップから再開
1192
+ run_now: 今すぐ実行
1193
+ signal: シグナルを送信
1194
+ skip_step: ステップをスキップ
1195
+ attempt: 試行 %{attempt}
1196
+ attention:
1197
+ at_step_html: "%{step} で"
1198
+ back: "← ワークフロー"
1199
+ cancel_all:
1200
+ one: "%{count} 件すべてキャンセル"
1201
+ other: "%{count} 件すべてキャンセル"
1202
+ confirm:
1203
+ cancel:
1204
+ one: "%{step} で止まっている実行をキャンセルしますか?"
1205
+ other: "%{step} で止まっている %{count} 件の実行をすべてキャンセルしますか?"
1206
+ cancel_error:
1207
+ one: "%{error} により %{step} で止まっている実行をキャンセルしますか?"
1208
+ other: "%{error} により %{step} で止まっている %{count} 件の実行をすべてキャンセルしますか?"
1209
+ resume:
1210
+ one: "%{step} で一時停止している実行を再開しますか?"
1211
+ other: "%{step} で一時停止している %{count} 件の実行をすべて再開しますか?"
1212
+ resume_error:
1213
+ one: "%{error} により %{step} で一時停止している実行を再開しますか?"
1214
+ other: "%{error} により %{step} で一時停止している %{count} 件の実行をすべて再開しますか?"
1215
+ description: 人の対応を待っている進行中の実行を、停止した原因ごとにまとめています。原因を解消したら、グループ全体を一括で操作できます。
1216
+ empty_hint: 一時停止、停滞、期限超過、または workflow_waiting_visibility_threshold を超えて待機している進行中の実行はありません。
1217
+ empty_title: 要対応の項目はありません。
1218
+ first_seen_html: 初回 %{time}
1219
+ headers:
1220
+ actions: アクション
1221
+ reason: 理由
1222
+ runs: 実行数
1223
+ seen: 検出
1224
+ workflow: ワークフロー
1225
+ last_seen_html: 最終 %{time}
1226
+ only_class_html: "%{workflow} のみ。"
1227
+ reasons:
1228
+ overdue: '期限超過: 期限は到来したが未取得'
1229
+ paused_error: エラーで一時停止
1230
+ paused_manual: 手動で一時停止
1231
+ stalled: '停滞: ワーカーが応答しなくなりました'
1232
+ waiting_overdue: 待機が長すぎます
1233
+ resume_all:
1234
+ one: "%{count} 件すべて再開"
1235
+ other: "%{count} 件すべて再開"
1236
+ show_all: すべてのクラスを表示
1237
+ show_runs: 実行を表示
1238
+ title: 要対応
1239
+ audit:
1240
+ by: "%{event}(%{actor})"
1241
+ empty: 記録されたイベントはありません。
1242
+ headers:
1243
+ what: 内容
1244
+ when: 日時
1245
+ title: 監査ログ
1246
+ with_reason: "%{sentence}: %{reason}"
1247
+ with_step: "%{sentence}(%{step} #%{attempt})"
1248
+ bad_request: '不正なリクエスト: %{reason}'
1249
+ confirm:
1250
+ cancel: このワークフローをキャンセルしますか?未完了のステップはキャンセルされ、再び実行されることはありません。
1251
+ rerun: 同じ対象と引数で、このワークフローを新しい実行として開始しますか?
1252
+ resume: このワークフローを再開しますか?
1253
+ resume_at: このワークフローを選択したステップから再開しますか?未完了のステップは先にキャンセルされます。
1254
+ run_now: 待たずに予約済みのステップを今すぐ実行しますか?
1255
+ signal: このシグナルをワークフローに送信しますか?
1256
+ skip_step: このワークフローが待機しているステップをスキップして次へ進みますか?
1257
+ events:
1258
+ cancelled: キャンセル
1259
+ fan_out_finished: ファンアウトが完了
1260
+ fan_out_opened: ファンアウトを開始
1261
+ finished: 完了
1262
+ late_completion_ignored: 遅延した完了を無視
1263
+ paused: 一時停止
1264
+ rerun: 再実行
1265
+ rescheduled: 再予約
1266
+ resumed: 再開
1267
+ run_now: 今すぐ実行
1268
+ signal_claimed: シグナルを取得
1269
+ signal_received: シグナルを受信
1270
+ stall_detected: 停滞を検出
1271
+ started: 開始
1272
+ step_completed: ステップが完了
1273
+ step_failed: ステップが失敗
1274
+ step_reattempted: ステップを再試行
1275
+ step_scheduled: ステップを予約
1276
+ step_skipped: ステップをスキップ
1277
+ step_started: ステップを開始
1278
+ step_waiting: ステップが待機中
1279
+ wait_timed_out: 待機がタイムアウト
1280
+ filters:
1281
+ apply: フィルターを適用
1282
+ clear: クリア
1283
+ created_from: 作成日(開始)
1284
+ created_to: 作成日(終了)
1285
+ ended_from: 終了日(開始)
1286
+ ended_to: 終了日(終了)
1287
+ error_class: エラークラス
1288
+ step: 現在のステップ
1289
+ subject_id: 対象ID
1290
+ subject_type: 対象タイプ
1291
+ workflow_class: ワークフロークラス
1292
+ workflow_id: ワークフローID
1293
+ flash:
1294
+ bad_group: そのグループは無効です。
1295
+ bulk_cancel:
1296
+ one: "%{count} 件をキャンセルしました。"
1297
+ other: "%{count} 件をキャンセルしました。"
1298
+ bulk_cancel_skipped: "%{count} 件をキャンセルしました。%{skipped} 件はすでに先へ進んでいました。"
1299
+ bulk_failed: "%{count} 件は変更できませんでした: %{reason}"
1300
+ bulk_more: ほかにも実行が残っている可能性があります。もう一度押すと次の %{cap} 件を処理します。
1301
+ bulk_resume:
1302
+ one: "%{count} 件を再開しました。"
1303
+ other: "%{count} 件を再開しました。"
1304
+ bulk_resume_skipped: "%{count} 件を再開しました。%{skipped} 件はすでに先へ進んでいました。"
1305
+ cancel: ワークフローをキャンセルしました。
1306
+ choose_step: 再開するステップを選択してください。
1307
+ failed:
1308
+ not_allowed: '実行できません: この実行は現在 %{status} です。'
1309
+ not_found: そのワークフローはもう存在しません。
1310
+ other: "%{action} に失敗しました: %{reason}"
1311
+ payload_not_object: '未送信: ペイロードが JSON オブジェクトではありません。'
1312
+ payload_too_large: '未送信: ペイロードが %{limit} バイトを超えています。'
1313
+ rerun: 新しい実行を開始しました。
1314
+ resume: ワークフローを再開しました。
1315
+ resume_at: ワークフローを %{step} から再開しました。
1316
+ run_now: 予約済みのステップを今すぐ実行します。
1317
+ signal: シグナル %{name} を送信しました。
1318
+ signal_duplicate: シグナル %{name} はこのキーで配信済みです。新たな送信は行われませんでした。
1319
+ signal_name_missing: '未送信: シグナルには名前が必要です。'
1320
+ skip_step: ステップをスキップしました。
1321
+ headers:
1322
+ current_step: 現在のステップ
1323
+ last_activity: 最終アクティビティ
1324
+ started: 開始
1325
+ status: ステータス
1326
+ subject: 対象
1327
+ workflow: ワークフロー
1328
+ index:
1329
+ attention_link:
1330
+ one: 要対応(%{count})
1331
+ other: 要対応(%{count})
1332
+ description: '永続的な複数ステップの実行: 各実行の現在の処理と次に起きることを表示します。'
1333
+ empty_hint: 別のステータスを選ぶか、フィルターをクリアしてください。実行は YourWorkflow.start!(subject, **arguments) で開始します。
1334
+ empty_title: 該当するワークフローはありません。
1335
+ insights_link: クラス別インサイト
1336
+ status_label: ステータスで絞り込み
1337
+ title: ワークフロー
1338
+ next:
1339
+ cancelled_html: "%{ago} にキャンセルされました。"
1340
+ due_html: '実行待ち: %{step} は %{ago} が期限で、ワーカーを待っています。'
1341
+ finished_html: "%{ago} に完了しました。"
1342
+ overdue_html: '期限超過: %{step} は %{ago} が期限でした。スイープが再送します。'
1343
+ paused_error_html: "%{step} で一時停止: %{error} — 再開またはキャンセルしてください。"
1344
+ paused_manual_html: "%{step} で一時停止 — 再開またはキャンセルしてください。"
1345
+ performing_attempt_html: "%{step} を実行中です(試行 %{attempt})。"
1346
+ performing_html: "%{step} を実行中です。"
1347
+ ready_html: '実行待ち: 次に %{step} が実行されます。'
1348
+ scheduled_html: '予約済み: %{step} は %{time} に実行されます。'
1349
+ unknown_html: 'ステータス: %{status}。'
1350
+ waiting_batch_html: バッチ %{batch} を待機中です(%{total} 件中 %{done} 件のジョブが完了)。
1351
+ waiting_signal_html: シグナル %{signal} を %{ago} から待機中です。
1352
+ waiting_signal_timeout_html: シグナル %{signal} を %{ago} から待機中です。待機は %{time} にタイムアウトします。
1353
+ waiting_step_html: "%{step} を待機中です。"
1354
+ not_found:
1355
+ hint: 完了して workflow_retention 経過後に削除されたか、データベースを読み取れなかった可能性があります(ログを確認してください)。
1356
+ title: ワークフローが見つかりません
1357
+ outcomes:
1358
+ cancelled: キャンセル
1359
+ completed: 完了
1360
+ finished_early: 実行を早期終了
1361
+ paused: 実行を一時停止
1362
+ reattempted: 再試行
1363
+ skipped: スキップ
1364
+ resume:
1365
+ carry_on: '再開: %{step} から続行'
1366
+ continue: '再開: %{step} に進む'
1367
+ finish: '再開: 実行を完了する'
1368
+ resend: '再開: %{step} を再送'
1369
+ retry: '再開: %{step} をリトライ'
1370
+ rewait: '再開: %{step} を再び待機'
1371
+ show:
1372
+ actions: アクション
1373
+ arguments: 引数
1374
+ back: "← ワークフロー"
1375
+ cancelled_at: キャンセル日時
1376
+ class_missing: "%{workflow_class} はこのプロセスに読み込まれていません。この実行のキャンセルはできますが、再開はできません。"
1377
+ definition_outdated: この実行は %{workflow_class} の古い定義で開始されました。開始後にステップが変更されています。
1378
+ details: 詳細
1379
+ finished_at: 完了日時
1380
+ no_arguments: この実行には引数がありません。
1381
+ paused_at: 一時停止日時
1382
+ reason_hint: 操作した人とともに監査ログに記録されます。
1383
+ reason_label: 理由(任意)
1384
+ rerun_of: 再実行元
1385
+ reruns: 再実行先
1386
+ resume_at_label: 再開するステップ
1387
+ signal:
1388
+ hint: 待機中のステップがあれば即座に再開します。なければ、ステップが受け取るまで保留されます。
1389
+ name: シグナル名
1390
+ payload: ペイロード(JSON)
1391
+ send: シグナルを送信
1392
+ title: シグナルを送信
1393
+ signal_statuses:
1394
+ claimed: 取得済み
1395
+ consumed: 消費済み
1396
+ pending: 保留中
1397
+ signals:
1398
+ empty: この実行に配信されたシグナルはありません。
1399
+ headers:
1400
+ claimed: 取得
1401
+ consumed: 消費
1402
+ idempotency_key: 冪等キー
1403
+ name: シグナル
1404
+ received: 受信
1405
+ status: ステータス
1406
+ payload: ペイロード
1407
+ title: シグナル
1408
+ statuses:
1409
+ cancelled: キャンセル済み
1410
+ finished: 完了
1411
+ gone: 削除済み
1412
+ paused: 一時停止
1413
+ performing: 実行中
1414
+ ready: 実行待ち
1415
+ scheduled: 予約済み
1416
+ waiting: 待機中
1417
+ step_statuses:
1418
+ cancelled: キャンセル済み
1419
+ completed: 完了
1420
+ failed: 失敗
1421
+ in_progress: 実行中
1422
+ scheduled: 予約済み
1423
+ skipped: スキップ
1424
+ waiting: 待機中
1425
+ steps:
1426
+ batch: バッチ %{batch}
1427
+ caused_by: '原因: %{error}'
1428
+ empty: 試行はまだありません。
1429
+ headers:
1430
+ finished: 完了
1431
+ queued: キュー
1432
+ ran: 実行
1433
+ scheduled: 予約
1434
+ started: 開始
1435
+ status: ステータス
1436
+ step: ステップ
1437
+ waited: 待機
1438
+ worker: ワーカー
1439
+ revision: リビジョン %{revision}
1440
+ show_backtrace: バックトレースを表示
1441
+ title: 試行
1442
+ waiting_for: その後 %{duration} 待機
1443
+ waits_for_html: "%{signal} を待機"
1444
+ tabs:
1445
+ all: すべて
1446
+ cancelled: キャンセル済み
1447
+ finished: 完了
1448
+ ongoing: 進行中
1449
+ paused: 一時停止
1450
+ performing: 実行中
1451
+ ready: 実行待ち
1452
+ waiting: 待機中
1453
+ timeline:
1454
+ caption: 各試行を古い順に表示します。待機(待ち時間)、キュー(期限到来、未取得)、実行(終了状態で色分け)、待機中(シグナルまたはバッチ待ち)で、一時停止は別の行に表示します。下の試行テーブルにも同じ時間が載っています。
1455
+ empty: 試行はまだありません。
1456
+ paused_period_html: "%{from} から %{duration} 一時停止"
1457
+ paused_row: 一時停止
1458
+ series:
1459
+ paused: 一時停止
1460
+ queued: キュー
1461
+ ran_cancelled: 実行、キャンセル
1462
+ ran_failed: 実行、失敗
1463
+ ran_ok: 実行
1464
+ ran_open: 実行中
1465
+ waited: 待機済み
1466
+ waiting: 待機中
1467
+ title: タイムライン