good_job 4.1.0 → 4.2.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +10 -10
  4. data/app/charts/good_job/performance_index_chart.rb +1 -1
  5. data/app/charts/good_job/performance_show_chart.rb +1 -1
  6. data/app/controllers/good_job/application_controller.rb +1 -1
  7. data/app/controllers/good_job/batches_controller.rb +6 -0
  8. data/app/controllers/good_job/frontends_controller.rb +6 -2
  9. data/app/controllers/good_job/performance_controller.rb +1 -1
  10. data/app/frontend/good_job/icons.svg +79 -0
  11. data/app/frontend/good_job/style.css +5 -0
  12. data/app/helpers/good_job/icons_helper.rb +8 -5
  13. data/app/models/concerns/good_job/advisory_lockable.rb +17 -7
  14. data/app/models/concerns/good_job/error_events.rb +2 -2
  15. data/app/models/concerns/good_job/reportable.rb +8 -12
  16. data/app/models/good_job/batch.rb +31 -9
  17. data/app/models/good_job/batch_record.rb +19 -20
  18. data/app/models/good_job/discrete_execution.rb +6 -59
  19. data/app/models/good_job/execution.rb +59 -4
  20. data/app/models/good_job/execution_result.rb +6 -6
  21. data/app/models/good_job/job.rb +543 -12
  22. data/app/models/good_job/process.rb +14 -3
  23. data/app/views/good_job/batches/_jobs.erb +1 -1
  24. data/app/views/good_job/batches/_table.erb +7 -1
  25. data/app/views/good_job/batches/show.html.erb +8 -0
  26. data/app/views/good_job/jobs/index.html.erb +1 -1
  27. data/app/views/layouts/good_job/application.html.erb +7 -7
  28. data/config/brakeman.ignore +75 -0
  29. data/config/locales/de.yml +54 -49
  30. data/config/locales/en.yml +5 -0
  31. data/config/locales/es.yml +19 -14
  32. data/config/locales/fr.yml +5 -0
  33. data/config/locales/it.yml +5 -0
  34. data/config/locales/ja.yml +10 -5
  35. data/config/locales/ko.yml +9 -4
  36. data/config/locales/nl.yml +5 -0
  37. data/config/locales/pt-BR.yml +5 -0
  38. data/config/locales/ru.yml +5 -0
  39. data/config/locales/tr.yml +5 -0
  40. data/config/locales/uk.yml +6 -1
  41. data/config/routes.rb +8 -4
  42. data/lib/good_job/active_job_extensions/concurrency.rb +109 -98
  43. data/lib/good_job/adapter/inline_buffer.rb +73 -0
  44. data/lib/good_job/adapter.rb +59 -53
  45. data/lib/good_job/capsule_tracker.rb +2 -2
  46. data/lib/good_job/configuration.rb +13 -12
  47. data/lib/good_job/cron_manager.rb +1 -3
  48. data/lib/good_job/current_thread.rb +4 -4
  49. data/lib/good_job/notifier/process_heartbeat.rb +3 -2
  50. data/lib/good_job/version.rb +1 -1
  51. data/lib/good_job.rb +6 -5
  52. metadata +6 -20
  53. data/app/models/good_job/base_execution.rb +0 -605
  54. data/app/views/good_job/shared/icons/_arrow_clockwise.html.erb +0 -5
  55. data/app/views/good_job/shared/icons/_check.html.erb +0 -5
  56. data/app/views/good_job/shared/icons/_circle_half.html.erb +0 -4
  57. data/app/views/good_job/shared/icons/_clock.html.erb +0 -5
  58. data/app/views/good_job/shared/icons/_dash_circle.html.erb +0 -5
  59. data/app/views/good_job/shared/icons/_dots.html.erb +0 -3
  60. data/app/views/good_job/shared/icons/_eject.html.erb +0 -4
  61. data/app/views/good_job/shared/icons/_exclamation.html.erb +0 -5
  62. data/app/views/good_job/shared/icons/_globe.html.erb +0 -3
  63. data/app/views/good_job/shared/icons/_info.html.erb +0 -4
  64. data/app/views/good_job/shared/icons/_moon_stars_fill.html.erb +0 -5
  65. data/app/views/good_job/shared/icons/_pause.html.erb +0 -4
  66. data/app/views/good_job/shared/icons/_play.html.erb +0 -4
  67. data/app/views/good_job/shared/icons/_skip_forward.html.erb +0 -4
  68. data/app/views/good_job/shared/icons/_stop.html.erb +0 -4
  69. data/app/views/good_job/shared/icons/_sun_fill.html.erb +0 -4
@@ -7,7 +7,7 @@
7
7
  <nav aria-label="<%= t ".job_pagination" %>" class="mt-3">
8
8
  <ul class="pagination">
9
9
  <li class="page-item">
10
- <%= link_to(@filter.to_params(after_scheduled_at: (@filter.last.scheduled_at || @filter.last.created_at), after_id: @filter.last.id), class: "page-link") do %>
10
+ <%= link_to(@filter.to_params(after_scheduled_at: @filter.last.scheduled_at || @filter.last.created_at, after_id: @filter.last.id), class: "page-link") do %>
11
11
  <%= t ".older_jobs" %> <span aria-hidden="true">&raquo;</span>
12
12
  <% end %>
13
13
  </li>
@@ -21,13 +21,13 @@
21
21
  </script>
22
22
 
23
23
  <%# Do not use asset tag helpers to avoid paths being overriden by config.asset_host %>
24
- <%= tag.link rel: "stylesheet", href: frontend_static_path(:bootstrap, format: :css, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
25
- <%= tag.link rel: "stylesheet", href: frontend_static_path(:style, format: :css, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
26
- <%= tag.script "", src: frontend_static_path(:bootstrap, format: :js, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
27
- <%= tag.script "", src: frontend_static_path(:chartjs, format: :js, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
28
- <%= tag.script "", src: frontend_static_path(:rails_ujs, format: :js, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
29
- <%= tag.script "", src: frontend_static_path(:es_module_shims, format: :js, v: GoodJob::VERSION, locale: nil), async: true, nonce: content_security_policy_nonce %>
30
- <% importmaps = GoodJob::FrontendsController.js_modules.keys.index_with { |module_name| frontend_module_path(module_name, format: :js, locale: nil, v: GoodJob::VERSION) } %>
24
+ <%= tag.link rel: "stylesheet", href: frontend_static_path(:bootstrap, format: :css, locale: nil), nonce: content_security_policy_nonce %>
25
+ <%= tag.link rel: "stylesheet", href: frontend_static_path(:style, format: :css, locale: nil), nonce: content_security_policy_nonce %>
26
+ <%= tag.script "", src: frontend_static_path(:bootstrap, format: :js, locale: nil), nonce: content_security_policy_nonce %>
27
+ <%= tag.script "", src: frontend_static_path(:chartjs, format: :js, locale: nil), nonce: content_security_policy_nonce %>
28
+ <%= tag.script "", src: frontend_static_path(:rails_ujs, format: :js, locale: nil), nonce: content_security_policy_nonce %>
29
+ <%= tag.script "", src: frontend_static_path(:es_module_shims, format: :js, locale: nil), async: true, nonce: content_security_policy_nonce %>
30
+ <% importmaps = GoodJob::FrontendsController.js_modules.keys.index_with { |module_name| frontend_module_path(module_name, format: :js, locale: nil) } %>
31
31
  <%= tag.script({ imports: importmaps }.to_json.html_safe, type: "importmap", nonce: content_security_policy_nonce) %>
32
32
  <%= tag.script "", type: "module", nonce: content_security_policy_nonce do %> import "application"; <% end %>
33
33
  </head>
@@ -0,0 +1,75 @@
1
+ {
2
+ "ignored_warnings": [
3
+ {
4
+ "warning_type": "Dynamic Render Path",
5
+ "warning_code": 15,
6
+ "fingerprint": "041ae0dc908151bac0ef0952c625f0dce3a05d2c01a710397a613ef10083f7ae",
7
+ "check_name": "Render",
8
+ "message": "Render path contains parameter value",
9
+ "file": "app/controllers/good_job/frontends_controller.rb",
10
+ "line": 47,
11
+ "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
12
+ "code": "render(file => (self.class.js_modules[params[:id].to_sym] or raise(ActionController::RoutingError, \"Not Found\")), {})",
13
+ "render_path": null,
14
+ "location": {
15
+ "type": "method",
16
+ "class": "GoodJob::FrontendsController",
17
+ "method": "module"
18
+ },
19
+ "user_input": "params[:id].to_sym",
20
+ "confidence": "Weak",
21
+ "cwe_id": [
22
+ 22
23
+ ],
24
+ "note": "Files are explicitly enumerated in the array"
25
+ },
26
+ {
27
+ "warning_type": "Dynamic Render Path",
28
+ "warning_code": 15,
29
+ "fingerprint": "b0c2888c9b217671d90d0141b49b036af3b2a70c63b02968cc97ae2052c86272",
30
+ "check_name": "Render",
31
+ "message": "Render path contains parameter value",
32
+ "file": "app/controllers/good_job/frontends_controller.rb",
33
+ "line": 41,
34
+ "link": "https://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
35
+ "code": "render(file => ({ :css => ({ :bootstrap => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"vendor\", \"bootstrap\", \"bootstrap.min.css\"), :style => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"style.css\") }), :js => ({ :bootstrap => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"vendor\", \"bootstrap\", \"bootstrap.bundle.min.js\"), :chartjs => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"vendor\", \"chartjs\", \"chart.min.js\"), :es_module_shims => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"vendor\", \"es_module_shims.js\"), :rails_ujs => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"vendor\", \"rails_ujs.js\") }), :svg => ({ :icons => GoodJob::Engine.root.join(\"app\", \"frontend\", \"good_job\", \"icons.svg\") }) }.dig(params[:format].to_sym, params[:id].to_sym) or raise(ActionController::RoutingError, \"Not Found\")), {})",
36
+ "render_path": null,
37
+ "location": {
38
+ "type": "method",
39
+ "class": "GoodJob::FrontendsController",
40
+ "method": "static"
41
+ },
42
+ "user_input": "params[:id].to_sym",
43
+ "confidence": "Weak",
44
+ "cwe_id": [
45
+ 22
46
+ ],
47
+ "note": "Files are explicitly enumerated in the array"
48
+ },
49
+ {
50
+ "warning_type": "SQL Injection",
51
+ "warning_code": 0,
52
+ "fingerprint": "c837568c590d9608a8bb9927b31b9597aaacc72053b6482e1a54bd02aa0dd2d7",
53
+ "check_name": "SQL",
54
+ "message": "Possible SQL injection",
55
+ "file": "app/models/good_job/job.rb",
56
+ "line": 140,
57
+ "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/",
58
+ "code": "Arel.sql(\"(CASE #{queues.map.with_index do\n sanitize_sql_array([\"WHEN queue_name = ? THEN ?\", queue_name, index])\n end.join(\" \")} ELSE #{queues.size} END)\")",
59
+ "render_path": null,
60
+ "location": {
61
+ "type": "method",
62
+ "class": "Job",
63
+ "method": null
64
+ },
65
+ "user_input": "queues.map.with_index do\n sanitize_sql_array([\"WHEN queue_name = ? THEN ?\", queue_name, index])\n end.join(\" \")",
66
+ "confidence": "Medium",
67
+ "cwe_id": [
68
+ 89
69
+ ],
70
+ "note": "Developer provided value, queue_name, is sanitized."
71
+ }
72
+ ],
73
+ "updated": "2024-07-18 18:05:56 -0700",
74
+ "brakeman_version": "6.1.2"
75
+ }
@@ -9,32 +9,37 @@ de:
9
9
  reschedule: Umplanen
10
10
  retry: Wiederholen
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Bist du sicher, dass du diesen Batch wiederholen willst?
14
+ retry: Batch wiederholen
12
15
  index:
13
- older_batches: Ältere Chargen
14
- title: Chargen
16
+ older_batches: Ältere Batches
17
+ title: Batches
15
18
  jobs:
16
19
  actions:
17
- confirm_destroy: Sind Sie sicher, dass Sie diesen Job zerstören wollen?
18
- confirm_discard: Möchten Sie diesen Job wirklich verwerfen?
19
- confirm_reschedule: Möchten Sie diesen Auftrag wirklich verschieben?
20
- confirm_retry: Möchten Sie diesen Job wirklich wiederholen?
21
- destroy: Zerstöre Job
22
- discard: Auftrag verwerfen
23
- reschedule: Auftrag neu planen
20
+ confirm_destroy: Bist du sicher, dass du diesen Job zerstören wilst?
21
+ confirm_discard: Bist du sicher, dass du diesen Job verwerfen willst?
22
+ confirm_reschedule: Bist du sicher, dass du diesen Job verschieben willst?
23
+ confirm_retry: Bist du sicher, dass du diesen Job erneut versuchen willst?
24
+ destroy: Job zerstören
25
+ discard: Job verwerfen
26
+ reschedule: Job neu planen
24
27
  retry: Job wiederholen
25
28
  title: Aktionen
26
29
  no_jobs_found: Keine Jobs gefunden.
30
+ retry:
31
+ notice: Batch wurde wiederholt
27
32
  show:
28
33
  attributes: Attribute
29
34
  batched_jobs: Batch-Jobs
30
35
  callback_jobs: Callback-Jobs
31
36
  table:
32
- no_batches_found: Keine Chargen gefunden.
37
+ no_batches_found: Keine Batches gefunden.
33
38
  cron_entries:
34
39
  actions:
35
- confirm_disable: Möchten Sie diesen Cron-Eintrag wirklich deaktivieren?
36
- confirm_enable: Möchten Sie diesen Cron-Eintrag wirklich aktivieren?
37
- confirm_enqueue: Möchten Sie diesen Cron-Eintrag wirklich in die Warteschlange stellen?
40
+ confirm_disable: Bist du sicher, dass du diesen Cron-Eintrag deaktivieren willst?
41
+ confirm_enable: Bist du sicher, dass du diesen Cron-Eintrag aktivieren willst?
42
+ confirm_enqueue: Bist du sicher, dass du diesen Cron-Eintrag in die Warteschlange stellen willst?
38
43
  disable: Cron-Eintrag deaktivieren
39
44
  enable: Cron-Eintrag aktivieren
40
45
  enqueue: Cron-Eintrag jetzt einreihen
@@ -48,7 +53,7 @@ de:
48
53
  no_cron_schedules_found: Keine Cron-Zeitpläne gefunden.
49
54
  title: Cron-Zeitpläne
50
55
  show:
51
- cron_entry_key: Cron-Eingabetaste
56
+ cron_entry_key: Cron-Schlüssel
52
57
  datetime:
53
58
  distance_in_words:
54
59
  about_x_hours:
@@ -95,11 +100,11 @@ de:
95
100
  minutes: "%{min}m %{sec}s"
96
101
  seconds: "%{sec}s"
97
102
  error_event:
98
- discarded: Weggeworfen
103
+ discarded: Verworfen
99
104
  handled: Abgewickelt
100
105
  interrupted: Unterbrochen
101
106
  retried: Wiederholt
102
- retry_stopped: Der Wiederholungsversuch wurde gestoppt
107
+ retry_stopped: Wiederholung gestoppt
103
108
  unhandled: Unbehandelt
104
109
  helpers:
105
110
  relative_time:
@@ -107,20 +112,20 @@ de:
107
112
  past: Vor %{time}
108
113
  jobs:
109
114
  actions:
110
- confirm_destroy: Sind Sie sicher, dass Sie den Job zerstören wollen?
111
- confirm_discard: Sind Sie sicher, dass Sie den Job verwerfen wollen?
112
- confirm_force_discard: Sind Sie sicher, dass Sie das Verwerfen dieses Jobs erzwingen möchten? Der Job wird als verworfen markiert, aber der laufende Job wird nicht gestoppt – er wird jedoch bei Fehlern nicht erneut versucht.
113
- confirm_reschedule: Möchten Sie den Auftrag wirklich verschieben?
114
- confirm_retry: Möchten Sie den Job wirklich wiederholen?
115
- destroy: Arbeit vernichten
116
- discard: Auftrag verwerfen
115
+ confirm_destroy: Bist du sicher, dass du diesen Job zerstören willst?
116
+ confirm_discard: Bist du sicher, dass du diesen Job verwerfen willst?
117
+ confirm_force_discard: Bist du sicher, dass du das Verwerfen dieses Jobs erzwingen möchten? Der Job wird als verworfen markiert, aber der laufende Job wird nicht gestoppt – er wird jedoch bei Fehlern nicht erneut versucht.
118
+ confirm_reschedule: Bist du sicher, dass du diesen Job verschieben willst?
119
+ confirm_retry: Bist du sicher, dass du diesen Job wiederholen willst?
120
+ destroy: Job zerstören
121
+ discard: Job verwerfen
117
122
  force_discard: Job verwerfen erzwingen
118
- reschedule: Auftrag neu planen
123
+ reschedule: Job neu planen
119
124
  retry: Job wiederholen
120
125
  destroy:
121
126
  notice: Hiob wurde zerstört
122
127
  discard:
123
- notice: Auftrag wurde verworfen
128
+ notice: Job wurde verworfen
124
129
  executions:
125
130
  application_trace: Application Trace
126
131
  full_trace: Full Trace
@@ -131,25 +136,25 @@ de:
131
136
  notice: Der Job wurde zwangsweise verworfen. Die Ausführung wird fortgesetzt, bei Fehlern wird der Vorgang jedoch nicht wiederholt
132
137
  index:
133
138
  job_pagination: Job-Paginierung
134
- older_jobs: Ältere Berufe
139
+ older_jobs: Ältere Jobs
135
140
  reschedule:
136
- notice: Auftrag wurde verschoben
141
+ notice: Job wurde neu planen
137
142
  retry:
138
- notice: Auftrag wurde wiederholt
143
+ notice: Job wurde wiederholt
139
144
  show:
140
- jobs: Arbeitsplätze
145
+ jobs: Jobs
141
146
  table:
142
147
  actions:
143
148
  apply_to_all:
144
- one: Bewerben Sie sich auf alle 1 Stelle.
145
- other: Bewerben Sie sich auf alle %{count} Stellen.
146
- confirm_destroy_all: Möchten Sie die ausgewählten Jobs wirklich löschen?
147
- confirm_discard_all: Möchten Sie die ausgewählten Jobs wirklich verwerfen?
148
- confirm_reschedule_all: Möchten Sie die ausgewählten Jobs wirklich neu planen?
149
- confirm_retry_all: Möchten Sie die ausgewählten Jobs wirklich wiederholen?
150
- destroy_all: Zerstöre alle
149
+ one: Auf einen Job anwenden.
150
+ other: Auf alle %{count} Jobs anwenden.
151
+ confirm_destroy_all: Bist du sicher, dass du die ausgewählten Jobs löschen willst?
152
+ confirm_discard_all: Bist du sicher, dass du die ausgewählten Jobs verferfen willst?
153
+ confirm_reschedule_all: Bist du sicher, dass du die ausgewählten Jobs neu planen willst?
154
+ confirm_retry_all: Bist du sicher, dass du die ausgewählten Jobs wiederholen willst?
155
+ destroy_all: Alle zerstören
151
156
  discard_all: Alle verwerfen
152
- reschedule_all: Alles neu planen
157
+ reschedule_all: Alle neu planen
153
158
  retry_all: Alle wiederholen
154
159
  title: Aktionen
155
160
  no_jobs_found: Keine Jobs gefunden.
@@ -165,7 +170,7 @@ de:
165
170
  enqueued_at: Eingereiht bei
166
171
  finished: Fertig
167
172
  finished_at: Fertig um
168
- jobs: Arbeitsplätze
173
+ jobs: Jobs
169
174
  name: Name
170
175
  cron:
171
176
  class: Klasse
@@ -197,9 +202,9 @@ de:
197
202
  performance:
198
203
  index:
199
204
  average_duration: Durchschnittliche Dauer
200
- chart_title: Gesamtdauer der Auftragsausführung in Sekunden
201
- executions: Hinrichtungen
202
- job_class: Berufsklasse
205
+ chart_title: Gesamtdauer der Jobs in Sekunden
206
+ executions: Ausführungen
207
+ job_class: Job-Klasse
203
208
  maximum_duration: Maximale Dauer
204
209
  minimum_duration: Mindestdauer
205
210
  title: Leistung
@@ -210,8 +215,8 @@ de:
210
215
  index:
211
216
  cron_enabled: Cron aktiviert
212
217
  no_good_job_processes_found: Keine GoodJob-Prozesse gefunden.
213
- process: Verfahren
214
- schedulers: Planer
218
+ process: Prozess
219
+ schedulers: Scheduler
215
220
  started: Gestartet
216
221
  title: Prozesse
217
222
  updated: Aktualisiert
@@ -224,9 +229,9 @@ de:
224
229
  all: Alle
225
230
  all_jobs: Alle Jobs
226
231
  all_queues: Alle Warteschlangen
227
- clear: Klar
228
- job_name: Berufsbezeichnung
229
- placeholder: Suchen Sie nach Klasse, Job-ID, Jobparametern und Fehlertext.
232
+ clear: Löschen
233
+ job_name: Job-Name
234
+ placeholder: Suche nach Klasse, Job-ID, Jobparameter und Fehlertext.
230
235
  queue_name: Warteschlangenname
231
236
  search: Suchen
232
237
  navbar:
@@ -240,14 +245,14 @@ de:
240
245
  theme:
241
246
  auto: Auto
242
247
  dark: Dunkel
243
- light: Licht
244
- theme: Thema
248
+ light: Hell
249
+ theme: Theme
245
250
  pending_migrations: GoodJob hat ausstehende Datenbankmigrationen.
246
251
  secondary_navbar:
247
252
  inspiration: Denk daran, auch du machst einen guten Job!
248
253
  last_updated: Zuletzt aktualisiert
249
254
  status:
250
- discarded: Ausrangiert
255
+ discarded: Verworfen
251
256
  queued: In der Warteschlange
252
257
  retried: Wiederholt
253
258
  running: Laufend
@@ -9,6 +9,9 @@ en:
9
9
  reschedule: Reschedule
10
10
  retry: Retry
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Are you sure you want to retry this batch?
14
+ retry: Retry
12
15
  index:
13
16
  older_batches: Older batches
14
17
  title: Batches
@@ -24,6 +27,8 @@ en:
24
27
  retry: Retry Job
25
28
  title: Actions
26
29
  no_jobs_found: No jobs found.
30
+ retry:
31
+ notice: Batch has been retried
27
32
  show:
28
33
  attributes: Attributes
29
34
  batched_jobs: Batched Jobs
@@ -9,9 +9,12 @@ es:
9
9
  reschedule: Reprogramar
10
10
  retry: Reintentar
11
11
  batches:
12
+ actions:
13
+ confirm_retry: "¿Estás seguro que querés reintentar este lote?"
14
+ retry: Reintentar
12
15
  index:
13
- older_batches: Batches anteriores
14
- title: Batches
16
+ older_batches: Lotes anteriores
17
+ title: Lotes
15
18
  jobs:
16
19
  actions:
17
20
  confirm_destroy: "¿Estás seguro que querés eliminar esta tarea?"
@@ -24,12 +27,14 @@ es:
24
27
  retry: Reintentar tarea
25
28
  title: Acciones
26
29
  no_jobs_found: No hay tareas.
30
+ retry:
31
+ notice: El lote ha sido reintentado
27
32
  show:
28
33
  attributes: Atributos
29
- batched_jobs: Batched Jobs
34
+ batched_jobs: Tareas en lote
30
35
  callback_jobs: Callback Jobs
31
36
  table:
32
- no_batches_found: No hay batches.
37
+ no_batches_found: No hay lotes.
33
38
  cron_entries:
34
39
  actions:
35
40
  confirm_disable: "¿Estás seguro que querés deshabilitar esta tarea programada?"
@@ -109,12 +114,12 @@ es:
109
114
  actions:
110
115
  confirm_destroy: "¿Estás seguro que querés eliminar esta tarea?"
111
116
  confirm_discard: "¿Estás seguro que querés descartar esta tarea?"
112
- confirm_force_discard: "¿Está seguro de que desea forzar el descarte de este trabajo? El trabajo se marcará como descartado, pero el trabajo en ejecución no se detendrá; sin embargo, no se volverá a intentar en caso de falla.\n"
117
+ confirm_force_discard: "¿Está seguro de que desea forzar el descarte de esta tarea? La tarea se marcará como descartada, pero la tarea en ejecución no se detendrá; sin embargo, no se volverá a intentar en caso de falla.\n"
113
118
  confirm_reschedule: "¿Estás seguro que querés reprogramar esta tarea?"
114
119
  confirm_retry: "¿Estás seguro que querés reintentar esta tarea?"
115
120
  destroy: Eliminar tarea
116
121
  discard: Descartar tarea
117
- force_discard: Forzar el descarte del trabajo
122
+ force_discard: Forzar el descarte de la tarea
118
123
  reschedule: Reprogramar tarea
119
124
  retry: Reiuntentar tarea
120
125
  destroy:
@@ -122,13 +127,13 @@ es:
122
127
  discard:
123
128
  notice: La tarea ha sido descartada
124
129
  executions:
125
- application_trace: Application Trace
126
- full_trace: Full Trace
130
+ application_trace: Traza de la aplicación
131
+ full_trace: Traza completa
127
132
  in_queue: en cola
128
133
  runtime: en ejecución
129
134
  title: Ejecuciones
130
135
  force_discard:
131
- notice: Job ha sido descartado a la fuerza. Continuará ejecutándose pero no se volverá a intentar en caso de fallas.
136
+ notice: La tarea ha sido descartada a la fuerza. Continuará ejecutándose pero no se volverá a intentar en caso de fallas.
132
137
  index:
133
138
  job_pagination: Paginación de tareas
134
139
  older_jobs: Tareas anteriores
@@ -197,12 +202,12 @@ es:
197
202
  performance:
198
203
  index:
199
204
  average_duration: Duración promedio
200
- chart_title: Tiempo total de ejecución del trabajo en segundos
205
+ chart_title: Tiempo total de ejecución de la tarea en segundos
201
206
  executions: Ejecuciones
202
- job_class: clase de trabajo
207
+ job_class: clase de tarea
203
208
  maximum_duration: Duración máxima
204
209
  minimum_duration: Duración mínima
205
- title: Actuación
210
+ title: Rendimiento
206
211
  show:
207
212
  slow: Lento
208
213
  title: Actuación
@@ -230,12 +235,12 @@ es:
230
235
  queue_name: Nombre de la cola
231
236
  search: Buscar
232
237
  navbar:
233
- batches: Batches
238
+ batches: Lotes
234
239
  cron_schedules: Cron
235
240
  jobs: Tareas
236
241
  live_poll: En vivo
237
242
  name: "GoodJob 👍"
238
- performance: Actuación
243
+ performance: Rendimiento
239
244
  processes: Procesos
240
245
  theme:
241
246
  auto: Auto
@@ -9,6 +9,9 @@ fr:
9
9
  reschedule: Reprogrammer
10
10
  retry: Recommencez
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Voulez-vous vraiment réessayer ce lot ?
14
+ retry: Réessayer
12
15
  index:
13
16
  older_batches: Lots plus anciens
14
17
  title: Lots
@@ -24,6 +27,8 @@ fr:
24
27
  retry: Réessayer le job
25
28
  title: Actions
26
29
  no_jobs_found: Aucun job trouvé.
30
+ retry:
31
+ notice: Le lot a été réessayé
27
32
  show:
28
33
  attributes: Attributs
29
34
  batched_jobs: Jobs groupés
@@ -9,6 +9,9 @@ it:
9
9
  reschedule: Riprogramma
10
10
  retry: Riprova
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Sei sicuro di voler riprovare questo batch?
14
+ retry: Riprova
12
15
  index:
13
16
  older_batches: Batch più vecchi
14
17
  title: Batch
@@ -24,6 +27,8 @@ it:
24
27
  retry: Riprova job
25
28
  title: Azioni
26
29
  no_jobs_found: Nessun job trovato.
30
+ retry:
31
+ notice: Il batch è stato riprovato
27
32
  show:
28
33
  attributes: Attributi
29
34
  batched_jobs: Job raggruppati
@@ -9,6 +9,9 @@ ja:
9
9
  reschedule: 再スケジュールする
10
10
  retry: 再試行する
11
11
  batches:
12
+ actions:
13
+ confirm_retry: このバッチを再試行してもよろしいですか?
14
+ retry: バッチを再試行する
12
15
  index:
13
16
  older_batches: より古いバッチ
14
17
  title: バッチ
@@ -24,6 +27,8 @@ ja:
24
27
  retry: ジョブを再試行する
25
28
  title: アクション
26
29
  no_jobs_found: ジョブが見つかりませんでした。
30
+ retry:
31
+ notice: バッチが再試行されました
27
32
  show:
28
33
  attributes: 属性
29
34
  batched_jobs: バッチ処理されたジョブ
@@ -122,9 +127,9 @@ ja:
122
127
  discard:
123
128
  notice: ジョブが破棄されました
124
129
  executions:
125
- application_trace: Application Trace
126
- full_trace: Full Trace
127
- in_queue: 待機中
130
+ application_trace: アプリケーショントレース
131
+ full_trace: フルトレース
132
+ in_queue: キュー内
128
133
  runtime: 実行時間
129
134
  title: 実行
130
135
  force_discard:
@@ -198,8 +203,8 @@ ja:
198
203
  index:
199
204
  average_duration: 平均所要時間
200
205
  chart_title: ジョブの総実行時間(秒
201
- executions: 処刑
202
- job_class: 職種
206
+ executions: 実行
207
+ job_class: ジョブクラス
203
208
  maximum_duration: 最大持続時間
204
209
  minimum_duration: 最小期間
205
210
  title: パフォーマンス
@@ -9,6 +9,9 @@ ko:
9
9
  reschedule: 재예약하기
10
10
  retry: 다시 시도하기
11
11
  batches:
12
+ actions:
13
+ confirm_retry: 이 배치를 다시 시도하시겠습니까?
14
+ retry: 배치 다시 시도
12
15
  index:
13
16
  older_batches: 더 오래된 배치
14
17
  title: 배치
@@ -24,6 +27,8 @@ ko:
24
27
  retry: 작업 다시 시도
25
28
  title: 작업 액션
26
29
  no_jobs_found: 작업이 없습니다.
30
+ retry:
31
+ notice: 배치가 다시 시도되었습니다.
27
32
  show:
28
33
  attributes: 속성
29
34
  batched_jobs: 배치된 작업
@@ -122,8 +127,8 @@ ko:
122
127
  discard:
123
128
  notice: 작업이 폐기되었습니다.
124
129
  executions:
125
- application_trace: Application Trace
126
- full_trace: Full Trace
130
+ application_trace: 애플리케이션 추적
131
+ full_trace: 전체 추적
127
132
  in_queue: 대기 중
128
133
  runtime: 실행 시간
129
134
  title: 실행
@@ -198,8 +203,8 @@ ko:
198
203
  index:
199
204
  average_duration: 평균 지속 시간
200
205
  chart_title: 총 작업 실행 시간(초)
201
- executions: 처형
202
- job_class: 직업군
206
+ executions: 실행
207
+ job_class: 작업 클래스
203
208
  maximum_duration: 최대 기간
204
209
  minimum_duration: 최소 기간
205
210
  title: 성능
@@ -9,6 +9,9 @@ nl:
9
9
  reschedule: Opnieuw plannen
10
10
  retry: Opnieuw proberen
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Weet je zeker dat je deze batch opnieuw wilt proberen?
14
+ retry: Batch opnieuw proberen
12
15
  index:
13
16
  older_batches: Oudere partijen
14
17
  title: Partijen
@@ -24,6 +27,8 @@ nl:
24
27
  retry: Taak opnieuw
25
28
  title: Acties
26
29
  no_jobs_found: Geen vacatures gevonden.
30
+ retry:
31
+ notice: Batch is opnieuw geprobeerd
27
32
  show:
28
33
  attributes: attributen
29
34
  batched_jobs: Gegroepeerde banen
@@ -9,6 +9,9 @@ pt-BR:
9
9
  reschedule: Reagendar
10
10
  retry: Tentar novamente
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Tem certeza de que deseja tentar novamente este lote?
14
+ retry: Tentar novamente
12
15
  index:
13
16
  older_batches: Lotes antigos
14
17
  title: Lotes
@@ -24,6 +27,8 @@ pt-BR:
24
27
  retry: Tentar Tarefa Novamente
25
28
  title: Ações
26
29
  no_jobs_found: Nenhuma tarefa encontrada.
30
+ retry:
31
+ notice: O lote foi tentado novamente
27
32
  show:
28
33
  attributes: Atributos
29
34
  batched_jobs: Tarefas em Lote
@@ -9,6 +9,9 @@ ru:
9
9
  reschedule: Перенести
10
10
  retry: Повторить попытку
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Вы уверены, что хотите повторить эту группу заданий?
14
+ retry: Повторить группу заданий
12
15
  index:
13
16
  older_batches: Старые группы заданий
14
17
  title: Группы заданий
@@ -24,6 +27,8 @@ ru:
24
27
  retry: Повторить задание
25
28
  title: Действия
26
29
  no_jobs_found: Заданий не найдено
30
+ retry:
31
+ notice: Группа заданий была повторена
27
32
  show:
28
33
  attributes: Атрибуты
29
34
  batched_jobs: Группы заданий
@@ -9,6 +9,9 @@ tr:
9
9
  reschedule: Yeniden planla
10
10
  retry: Tekrar dene
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Bu grubu yeniden denemek istediğinizden emin misiniz?
14
+ retry: Grubu yeniden dene
12
15
  index:
13
16
  older_batches: Daha eski toplu işlemler
14
17
  title: Toplu İşlemler
@@ -24,6 +27,8 @@ tr:
24
27
  retry: İşi Tekrar Dene
25
28
  title: İşlemler
26
29
  no_jobs_found: İş bulunamadı.
30
+ retry:
31
+ notice: Grup yeniden denendi
27
32
  show:
28
33
  attributes: Özellikler
29
34
  batched_jobs: Toplu İşlenmiş İşler
@@ -9,6 +9,9 @@ uk:
9
9
  reschedule: Перепланувати
10
10
  retry: Повторити
11
11
  batches:
12
+ actions:
13
+ confirm_retry: Ви впевнені, що хочете повторити цю групу завдань?
14
+ retry: Повторити групу завдань
12
15
  index:
13
16
  older_batches: Старі пакети
14
17
  title: Пакети
@@ -24,6 +27,8 @@ uk:
24
27
  retry: Повторити задачу
25
28
  title: Дії
26
29
  no_jobs_found: Задачі не знайдені.
30
+ retry:
31
+ notice: Групу завдань було повторено
27
32
  show:
28
33
  attributes: Атрибути
29
34
  batched_jobs: Задачі в пакеті
@@ -256,7 +261,7 @@ uk:
256
261
  queue_name: Назва черги
257
262
  search: Пошук
258
263
  navbar:
259
- batches: Batches
264
+ batches: Пакети
260
265
  cron_schedules: Cron
261
266
  jobs: Задачі
262
267
  live_poll: Живе Опитування