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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -0
- data/README.md +10 -10
- data/app/charts/good_job/performance_index_chart.rb +1 -1
- data/app/charts/good_job/performance_show_chart.rb +1 -1
- data/app/controllers/good_job/application_controller.rb +1 -1
- data/app/controllers/good_job/batches_controller.rb +6 -0
- data/app/controllers/good_job/frontends_controller.rb +6 -2
- data/app/controllers/good_job/performance_controller.rb +1 -1
- data/app/frontend/good_job/icons.svg +79 -0
- data/app/frontend/good_job/style.css +5 -0
- data/app/helpers/good_job/icons_helper.rb +8 -5
- data/app/models/concerns/good_job/advisory_lockable.rb +17 -7
- data/app/models/concerns/good_job/error_events.rb +2 -2
- data/app/models/concerns/good_job/reportable.rb +8 -12
- data/app/models/good_job/batch.rb +31 -9
- data/app/models/good_job/batch_record.rb +19 -20
- data/app/models/good_job/discrete_execution.rb +6 -59
- data/app/models/good_job/execution.rb +59 -4
- data/app/models/good_job/execution_result.rb +6 -6
- data/app/models/good_job/job.rb +543 -12
- data/app/models/good_job/process.rb +14 -3
- data/app/views/good_job/batches/_jobs.erb +1 -1
- data/app/views/good_job/batches/_table.erb +7 -1
- data/app/views/good_job/batches/show.html.erb +8 -0
- data/app/views/good_job/jobs/index.html.erb +1 -1
- data/app/views/layouts/good_job/application.html.erb +7 -7
- data/config/brakeman.ignore +75 -0
- data/config/locales/de.yml +54 -49
- data/config/locales/en.yml +5 -0
- data/config/locales/es.yml +19 -14
- data/config/locales/fr.yml +5 -0
- data/config/locales/it.yml +5 -0
- data/config/locales/ja.yml +10 -5
- data/config/locales/ko.yml +9 -4
- data/config/locales/nl.yml +5 -0
- data/config/locales/pt-BR.yml +5 -0
- data/config/locales/ru.yml +5 -0
- data/config/locales/tr.yml +5 -0
- data/config/locales/uk.yml +6 -1
- data/config/routes.rb +8 -4
- data/lib/good_job/active_job_extensions/concurrency.rb +109 -98
- data/lib/good_job/adapter/inline_buffer.rb +73 -0
- data/lib/good_job/adapter.rb +59 -53
- data/lib/good_job/capsule_tracker.rb +2 -2
- data/lib/good_job/configuration.rb +13 -12
- data/lib/good_job/cron_manager.rb +1 -3
- data/lib/good_job/current_thread.rb +4 -4
- data/lib/good_job/notifier/process_heartbeat.rb +3 -2
- data/lib/good_job/version.rb +1 -1
- data/lib/good_job.rb +6 -5
- metadata +6 -20
- data/app/models/good_job/base_execution.rb +0 -605
- data/app/views/good_job/shared/icons/_arrow_clockwise.html.erb +0 -5
- data/app/views/good_job/shared/icons/_check.html.erb +0 -5
- data/app/views/good_job/shared/icons/_circle_half.html.erb +0 -4
- data/app/views/good_job/shared/icons/_clock.html.erb +0 -5
- data/app/views/good_job/shared/icons/_dash_circle.html.erb +0 -5
- data/app/views/good_job/shared/icons/_dots.html.erb +0 -3
- data/app/views/good_job/shared/icons/_eject.html.erb +0 -4
- data/app/views/good_job/shared/icons/_exclamation.html.erb +0 -5
- data/app/views/good_job/shared/icons/_globe.html.erb +0 -3
- data/app/views/good_job/shared/icons/_info.html.erb +0 -4
- data/app/views/good_job/shared/icons/_moon_stars_fill.html.erb +0 -5
- data/app/views/good_job/shared/icons/_pause.html.erb +0 -4
- data/app/views/good_job/shared/icons/_play.html.erb +0 -4
- data/app/views/good_job/shared/icons/_skip_forward.html.erb +0 -4
- data/app/views/good_job/shared/icons/_stop.html.erb +0 -4
- 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:
|
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">»</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,
|
25
|
-
<%= tag.link rel: "stylesheet", href: frontend_static_path(:style, format: :css,
|
26
|
-
<%= tag.script "", src: frontend_static_path(:bootstrap, format: :js,
|
27
|
-
<%= tag.script "", src: frontend_static_path(:chartjs, format: :js,
|
28
|
-
<%= tag.script "", src: frontend_static_path(:rails_ujs, format: :js,
|
29
|
-
<%= tag.script "", src: frontend_static_path(:es_module_shims, format: :js,
|
30
|
-
<% importmaps = GoodJob::FrontendsController.js_modules.keys.index_with { |module_name| frontend_module_path(module_name, format: :js, locale: nil
|
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
|
+
}
|
data/config/locales/de.yml
CHANGED
@@ -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
|
14
|
-
title:
|
16
|
+
older_batches: Ältere Batches
|
17
|
+
title: Batches
|
15
18
|
jobs:
|
16
19
|
actions:
|
17
|
-
confirm_destroy:
|
18
|
-
confirm_discard:
|
19
|
-
confirm_reschedule:
|
20
|
-
confirm_retry:
|
21
|
-
destroy:
|
22
|
-
discard:
|
23
|
-
reschedule:
|
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
|
37
|
+
no_batches_found: Keine Batches gefunden.
|
33
38
|
cron_entries:
|
34
39
|
actions:
|
35
|
-
confirm_disable:
|
36
|
-
confirm_enable:
|
37
|
-
confirm_enqueue:
|
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-
|
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:
|
103
|
+
discarded: Verworfen
|
99
104
|
handled: Abgewickelt
|
100
105
|
interrupted: Unterbrochen
|
101
106
|
retried: Wiederholt
|
102
|
-
retry_stopped:
|
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:
|
111
|
-
confirm_discard:
|
112
|
-
confirm_force_discard:
|
113
|
-
confirm_reschedule:
|
114
|
-
confirm_retry:
|
115
|
-
destroy:
|
116
|
-
discard:
|
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:
|
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:
|
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
|
139
|
+
older_jobs: Ältere Jobs
|
135
140
|
reschedule:
|
136
|
-
notice:
|
141
|
+
notice: Job wurde neu planen
|
137
142
|
retry:
|
138
|
-
notice:
|
143
|
+
notice: Job wurde wiederholt
|
139
144
|
show:
|
140
|
-
jobs:
|
145
|
+
jobs: Jobs
|
141
146
|
table:
|
142
147
|
actions:
|
143
148
|
apply_to_all:
|
144
|
-
one:
|
145
|
-
other:
|
146
|
-
confirm_destroy_all:
|
147
|
-
confirm_discard_all:
|
148
|
-
confirm_reschedule_all:
|
149
|
-
confirm_retry_all:
|
150
|
-
destroy_all:
|
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:
|
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:
|
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
|
201
|
-
executions:
|
202
|
-
job_class:
|
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:
|
214
|
-
schedulers:
|
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:
|
228
|
-
job_name:
|
229
|
-
placeholder:
|
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:
|
244
|
-
theme:
|
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:
|
255
|
+
discarded: Verworfen
|
251
256
|
queued: In der Warteschlange
|
252
257
|
retried: Wiederholt
|
253
258
|
running: Laufend
|
data/config/locales/en.yml
CHANGED
@@ -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
|
data/config/locales/es.yml
CHANGED
@@ -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:
|
14
|
-
title:
|
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:
|
34
|
+
batched_jobs: Tareas en lote
|
30
35
|
callback_jobs: Callback Jobs
|
31
36
|
table:
|
32
|
-
no_batches_found: No hay
|
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
|
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
|
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:
|
126
|
-
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:
|
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
|
205
|
+
chart_title: Tiempo total de ejecución de la tarea en segundos
|
201
206
|
executions: Ejecuciones
|
202
|
-
job_class: clase de
|
207
|
+
job_class: clase de tarea
|
203
208
|
maximum_duration: Duración máxima
|
204
209
|
minimum_duration: Duración mínima
|
205
|
-
title:
|
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:
|
238
|
+
batches: Lotes
|
234
239
|
cron_schedules: Cron
|
235
240
|
jobs: Tareas
|
236
241
|
live_poll: En vivo
|
237
242
|
name: "GoodJob 👍"
|
238
|
-
performance:
|
243
|
+
performance: Rendimiento
|
239
244
|
processes: Procesos
|
240
245
|
theme:
|
241
246
|
auto: Auto
|
data/config/locales/fr.yml
CHANGED
@@ -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
|
data/config/locales/it.yml
CHANGED
@@ -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
|
data/config/locales/ja.yml
CHANGED
@@ -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:
|
126
|
-
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: パフォーマンス
|
data/config/locales/ko.yml
CHANGED
@@ -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:
|
126
|
-
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: 성능
|
data/config/locales/nl.yml
CHANGED
@@ -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
|
data/config/locales/pt-BR.yml
CHANGED
@@ -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
|
data/config/locales/ru.yml
CHANGED
@@ -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: Группы заданий
|
data/config/locales/tr.yml
CHANGED
@@ -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
|
data/config/locales/uk.yml
CHANGED
@@ -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:
|
264
|
+
batches: Пакети
|
260
265
|
cron_schedules: Cron
|
261
266
|
jobs: Задачі
|
262
267
|
live_poll: Живе Опитування
|