good_job 4.1.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: Живе Опитування