good_job 3.29.5 → 3.30.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -0
- data/README.md +3 -3
- data/app/controllers/good_job/performances_controller.rb +23 -0
- data/app/filters/good_job/base_filter.rb +1 -1
- data/app/helpers/good_job/application_helper.rb +1 -0
- data/app/models/concerns/good_job/error_events.rb +2 -2
- data/app/models/good_job/base_execution.rb +594 -2
- data/app/models/good_job/discrete_execution.rb +18 -2
- data/app/models/good_job/execution.rb +2 -597
- data/app/models/good_job/job.rb +1 -1
- data/app/views/good_job/performances/show.html.erb +50 -0
- data/app/views/good_job/shared/_navbar.erb +5 -0
- data/config/locales/de.yml +11 -0
- data/config/locales/en.yml +11 -0
- data/config/locales/es.yml +11 -0
- data/config/locales/fr.yml +11 -0
- data/config/locales/it.yml +11 -0
- data/config/locales/ja.yml +11 -0
- data/config/locales/ko.yml +11 -0
- data/config/locales/nl.yml +11 -0
- data/config/locales/pt-BR.yml +11 -0
- data/config/locales/ru.yml +11 -0
- data/config/locales/tr.yml +11 -0
- data/config/locales/uk.yml +11 -0
- data/config/routes.rb +2 -0
- data/lib/generators/good_job/templates/install/migrations/create_good_jobs.rb.erb +1 -0
- data/lib/generators/good_job/templates/update/migrations/13_create_good_job_process_lock_ids.rb.erb +1 -0
- data/lib/generators/good_job/templates/update/migrations/14_create_good_job_process_lock_indexes.rb.erb +1 -0
- data/lib/generators/good_job/templates/update/migrations/15_create_good_job_execution_duration.rb.erb +15 -0
- data/lib/good_job/version.rb +1 -1
- data/lib/good_job.rb +2 -2
- metadata +5 -2
data/config/locales/de.yml
CHANGED
@@ -196,6 +196,14 @@ de:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Durchschnittliche Dauer
|
202
|
+
executions: Hinrichtungen
|
203
|
+
job_class: Berufsklasse
|
204
|
+
maximum_duration: Maximale Dauer
|
205
|
+
minimum_duration: Mindestdauer
|
206
|
+
title: Leistung
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron aktiviert
|
@@ -225,6 +233,7 @@ de:
|
|
225
233
|
jobs: Jobs
|
226
234
|
live_poll: Live Poll
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Leistung
|
228
237
|
processes: Prozesse
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ de:
|
|
241
250
|
running: Laufend
|
242
251
|
scheduled: Geplant
|
243
252
|
succeeded: Erfolgreich
|
253
|
+
shared:
|
254
|
+
needs_migration: Bitte führen Sie GoodJob-Migrationen aus.
|
data/config/locales/en.yml
CHANGED
@@ -196,6 +196,14 @@ en:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Average duration
|
202
|
+
executions: Executions
|
203
|
+
job_class: Job class
|
204
|
+
maximum_duration: Maximum duration
|
205
|
+
minimum_duration: Minimum duration
|
206
|
+
title: Performance
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron enabled
|
@@ -225,6 +233,7 @@ en:
|
|
225
233
|
jobs: Jobs
|
226
234
|
live_poll: Live Poll
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Performance
|
228
237
|
processes: Processes
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ en:
|
|
241
250
|
running: Running
|
242
251
|
scheduled: Scheduled
|
243
252
|
succeeded: Succeeded
|
253
|
+
shared:
|
254
|
+
needs_migration: Please run GoodJob migrations.
|
data/config/locales/es.yml
CHANGED
@@ -196,6 +196,14 @@ es:
|
|
196
196
|
thousand: k
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Duración promedio
|
202
|
+
executions: Ejecuciones
|
203
|
+
job_class: clase de trabajo
|
204
|
+
maximum_duration: Duración máxima
|
205
|
+
minimum_duration: Duración mínima
|
206
|
+
title: Actuación
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron habilitado
|
@@ -225,6 +233,7 @@ es:
|
|
225
233
|
jobs: Tareas
|
226
234
|
live_poll: En vivo
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Actuación
|
228
237
|
processes: Procesos
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ es:
|
|
241
250
|
running: Ejecutando
|
242
251
|
scheduled: Programado
|
243
252
|
succeeded: Exitoso
|
253
|
+
shared:
|
254
|
+
needs_migration: Ejecute las migraciones de GoodJob.
|
data/config/locales/fr.yml
CHANGED
@@ -196,6 +196,14 @@ fr:
|
|
196
196
|
thousand: k
|
197
197
|
trillion: J
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Durée moyenne
|
202
|
+
executions: Exécutions
|
203
|
+
job_class: Catégorie d'emplois
|
204
|
+
maximum_duration: Durée maximale
|
205
|
+
minimum_duration: Durée minimale
|
206
|
+
title: Performance
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron activé
|
@@ -225,6 +233,7 @@ fr:
|
|
225
233
|
jobs: Jobs
|
226
234
|
live_poll: En direct
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Performance
|
228
237
|
processes: Processus
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ fr:
|
|
241
250
|
running: En cours
|
242
251
|
scheduled: Planifiés
|
243
252
|
succeeded: Réussis
|
253
|
+
shared:
|
254
|
+
needs_migration: Veuillez exécuter des migrations GoodJob.
|
data/config/locales/it.yml
CHANGED
@@ -196,6 +196,14 @@ it:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Durata media
|
202
|
+
executions: Esecuzioni
|
203
|
+
job_class: Classe di lavoro
|
204
|
+
maximum_duration: Durata massima
|
205
|
+
minimum_duration: Durata minima
|
206
|
+
title: Prestazione
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron abilitato
|
@@ -225,6 +233,7 @@ it:
|
|
225
233
|
jobs: Job
|
226
234
|
live_poll: Live Poll
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Prestazione
|
228
237
|
processes: Processi
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ it:
|
|
241
250
|
running: In esecuzione
|
242
251
|
scheduled: Pianificato
|
243
252
|
succeeded: Riuscito
|
253
|
+
shared:
|
254
|
+
needs_migration: Esegui le migrazioni GoodJob.
|
data/config/locales/ja.yml
CHANGED
@@ -196,6 +196,14 @@ ja:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: 平均所要時間
|
202
|
+
executions: 処刑
|
203
|
+
job_class: 職種
|
204
|
+
maximum_duration: 最大持続時間
|
205
|
+
minimum_duration: 最小期間
|
206
|
+
title: パフォーマンス
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron が有効になっている
|
@@ -225,6 +233,7 @@ ja:
|
|
225
233
|
jobs: ジョブ
|
226
234
|
live_poll: リアルタイム更新
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: パフォーマンス
|
228
237
|
processes: プロセス
|
229
238
|
theme:
|
230
239
|
auto: 自動
|
@@ -241,3 +250,5 @@ ja:
|
|
241
250
|
running: 実行中
|
242
251
|
scheduled: スケジュール待ち
|
243
252
|
succeeded: 成功済み
|
253
|
+
shared:
|
254
|
+
needs_migration: GoodJob 移行を実行してください。
|
data/config/locales/ko.yml
CHANGED
@@ -196,6 +196,14 @@ ko:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: 평균 지속 시간
|
202
|
+
executions: 처형
|
203
|
+
job_class: 직업군
|
204
|
+
maximum_duration: 최대 기간
|
205
|
+
minimum_duration: 최소 기간
|
206
|
+
title: 성능
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron이 활성화되어 있음
|
@@ -225,6 +233,7 @@ ko:
|
|
225
233
|
jobs: 작업
|
226
234
|
live_poll: 실시간 업데이트
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: 성능
|
228
237
|
processes: 프로세스
|
229
238
|
theme:
|
230
239
|
auto: 자동
|
@@ -241,3 +250,5 @@ ko:
|
|
241
250
|
running: 실행 중
|
242
251
|
scheduled: 예정됨
|
243
252
|
succeeded: 성공함
|
253
|
+
shared:
|
254
|
+
needs_migration: GoodJob 마이그레이션을 실행하세요.
|
data/config/locales/nl.yml
CHANGED
@@ -196,6 +196,14 @@ nl:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Gemiddelde duur
|
202
|
+
executions: Executies
|
203
|
+
job_class: Functie klasse
|
204
|
+
maximum_duration: Maximale duur
|
205
|
+
minimum_duration: Minimale duur
|
206
|
+
title: Prestatie
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron ingeschakeld
|
@@ -225,6 +233,7 @@ nl:
|
|
225
233
|
jobs: Taken
|
226
234
|
live_poll: Live Poll
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Prestatie
|
228
237
|
processes: Processen
|
229
238
|
theme:
|
230
239
|
auto: Auto
|
@@ -241,3 +250,5 @@ nl:
|
|
241
250
|
running: Rennen
|
242
251
|
scheduled: Gepland
|
243
252
|
succeeded: Geslaagd
|
253
|
+
shared:
|
254
|
+
needs_migration: Voer GoodJob-migraties uit.
|
data/config/locales/pt-BR.yml
CHANGED
@@ -196,6 +196,14 @@ pt-BR:
|
|
196
196
|
thousand: K
|
197
197
|
trillion: T
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Duração média
|
202
|
+
executions: Execuções
|
203
|
+
job_class: Classe de trabalho
|
204
|
+
maximum_duration: Duração máxima
|
205
|
+
minimum_duration: Duração mínima
|
206
|
+
title: Desempenho
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Agendamento ativado
|
@@ -225,6 +233,7 @@ pt-BR:
|
|
225
233
|
jobs: Tarefas
|
226
234
|
live_poll: Acompanhamento ao Vivo
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Desempenho
|
228
237
|
processes: Processos
|
229
238
|
theme:
|
230
239
|
auto: Automático
|
@@ -241,3 +250,5 @@ pt-BR:
|
|
241
250
|
running: Em execução
|
242
251
|
scheduled: Agendado
|
243
252
|
succeeded: Concluído com sucesso
|
253
|
+
shared:
|
254
|
+
needs_migration: Execute migrações GoodJob.
|
data/config/locales/ru.yml
CHANGED
@@ -222,6 +222,14 @@ ru:
|
|
222
222
|
thousand: К
|
223
223
|
trillion: Т
|
224
224
|
unit: ''
|
225
|
+
performances:
|
226
|
+
show:
|
227
|
+
average_duration: Средняя продолжительность
|
228
|
+
executions: Казни
|
229
|
+
job_class: Класс работы
|
230
|
+
maximum_duration: Максимальная продолжительность
|
231
|
+
minimum_duration: Минимальная продолжительность
|
232
|
+
title: Производительность
|
225
233
|
processes:
|
226
234
|
index:
|
227
235
|
cron_enabled: Cron включен
|
@@ -251,6 +259,7 @@ ru:
|
|
251
259
|
jobs: Задания
|
252
260
|
live_poll: Обновления в реальном времени
|
253
261
|
name: "GoodJob 👍"
|
262
|
+
performances: Производительность
|
254
263
|
processes: Процессы
|
255
264
|
theme:
|
256
265
|
auto: Авто
|
@@ -267,3 +276,5 @@ ru:
|
|
267
276
|
running: Исполняется
|
268
277
|
scheduled: Запланировано
|
269
278
|
succeeded: Успешно
|
279
|
+
shared:
|
280
|
+
needs_migration: Пожалуйста, запустите миграцию GoodJob.
|
data/config/locales/tr.yml
CHANGED
@@ -196,6 +196,14 @@ tr:
|
|
196
196
|
thousand: Bin
|
197
197
|
trillion: Trilyon
|
198
198
|
unit: ''
|
199
|
+
performances:
|
200
|
+
show:
|
201
|
+
average_duration: Ortalama süre
|
202
|
+
executions: İnfazlar
|
203
|
+
job_class: İş sınıfı
|
204
|
+
maximum_duration: Maksimum süre
|
205
|
+
minimum_duration: Minimum süre
|
206
|
+
title: Verim
|
199
207
|
processes:
|
200
208
|
index:
|
201
209
|
cron_enabled: Cron etkin
|
@@ -225,6 +233,7 @@ tr:
|
|
225
233
|
jobs: İşler
|
226
234
|
live_poll: Anlık Güncelleme
|
227
235
|
name: "GoodJob 👍"
|
236
|
+
performances: Verim
|
228
237
|
processes: Süreçler
|
229
238
|
theme:
|
230
239
|
auto: Oto
|
@@ -241,3 +250,5 @@ tr:
|
|
241
250
|
running: Çalışıyor
|
242
251
|
scheduled: Planlandı
|
243
252
|
succeeded: Başarılı
|
253
|
+
shared:
|
254
|
+
needs_migration: Lütfen GoodJob geçişlerini çalıştırın.
|
data/config/locales/uk.yml
CHANGED
@@ -222,6 +222,14 @@ uk:
|
|
222
222
|
thousand: Тис
|
223
223
|
trillion: Трлн
|
224
224
|
unit: ''
|
225
|
+
performances:
|
226
|
+
show:
|
227
|
+
average_duration: Середня тривалість
|
228
|
+
executions: Страти
|
229
|
+
job_class: Клас роботи
|
230
|
+
maximum_duration: Максимальна тривалість
|
231
|
+
minimum_duration: Мінімальна тривалість
|
232
|
+
title: Продуктивність
|
225
233
|
processes:
|
226
234
|
index:
|
227
235
|
cron_enabled: Cron увімкнено
|
@@ -251,6 +259,7 @@ uk:
|
|
251
259
|
jobs: Задачі
|
252
260
|
live_poll: Живе Опитування
|
253
261
|
name: "GoodJob 👍"
|
262
|
+
performances: Продуктивність
|
254
263
|
processes: Процеси
|
255
264
|
theme:
|
256
265
|
auto: Авто
|
@@ -267,3 +276,5 @@ uk:
|
|
267
276
|
running: Виконується
|
268
277
|
scheduled: Заплановано
|
269
278
|
succeeded: Успішно виконано
|
279
|
+
shared:
|
280
|
+
needs_migration: Запустіть міграції GoodJob.
|
data/config/routes.rb
CHANGED
@@ -31,6 +31,8 @@ GoodJob::Engine.routes.draw do
|
|
31
31
|
|
32
32
|
resources :processes, only: %i[index]
|
33
33
|
|
34
|
+
resource :performance, only: %i[show]
|
35
|
+
|
34
36
|
scope :frontend, controller: :frontends do
|
35
37
|
get "modules/:name", action: :module, as: :frontend_module, constraints: { format: 'js' }
|
36
38
|
get "static/:name", action: :static, as: :frontend_static, constraints: { format: %w[css js] }
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class CreateGoodJobExecutionDuration < ActiveRecord::Migration<%= migration_version %>
|
4
|
+
def change
|
5
|
+
reversible do |dir|
|
6
|
+
dir.up do
|
7
|
+
# Ensure this incremental update migration is idempotent
|
8
|
+
# with monolithic install migration.
|
9
|
+
return if connection.column_exists?(:good_job_executions, :duration)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
add_column :good_job_executions, :duration, :interval
|
14
|
+
end
|
15
|
+
end
|
data/lib/good_job/version.rb
CHANGED
data/lib/good_job.rb
CHANGED
@@ -286,8 +286,8 @@ module GoodJob
|
|
286
286
|
# @return [Boolean]
|
287
287
|
def self.migrated?
|
288
288
|
# Always update with the most recent migration check
|
289
|
-
GoodJob::
|
290
|
-
GoodJob::
|
289
|
+
GoodJob::DiscreteExecution.reset_column_information
|
290
|
+
GoodJob::DiscreteExecution.duration_interval_migrated?
|
291
291
|
end
|
292
292
|
|
293
293
|
ActiveSupport.run_load_hooks(:good_job, self)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: good_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.30.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Sheldon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06
|
11
|
+
date: 2024-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -255,6 +255,7 @@ files:
|
|
255
255
|
- app/controllers/good_job/frontends_controller.rb
|
256
256
|
- app/controllers/good_job/jobs_controller.rb
|
257
257
|
- app/controllers/good_job/metrics_controller.rb
|
258
|
+
- app/controllers/good_job/performances_controller.rb
|
258
259
|
- app/controllers/good_job/processes_controller.rb
|
259
260
|
- app/filters/good_job/base_filter.rb
|
260
261
|
- app/filters/good_job/batches_filter.rb
|
@@ -306,6 +307,7 @@ files:
|
|
306
307
|
- app/views/good_job/jobs/_table.erb
|
307
308
|
- app/views/good_job/jobs/index.html.erb
|
308
309
|
- app/views/good_job/jobs/show.html.erb
|
310
|
+
- app/views/good_job/performances/show.html.erb
|
309
311
|
- app/views/good_job/processes/index.html.erb
|
310
312
|
- app/views/good_job/shared/_alert.erb
|
311
313
|
- app/views/good_job/shared/_chart.erb
|
@@ -362,6 +364,7 @@ files:
|
|
362
364
|
- lib/generators/good_job/templates/update/migrations/12_create_good_job_execution_error_backtrace.rb.erb
|
363
365
|
- lib/generators/good_job/templates/update/migrations/13_create_good_job_process_lock_ids.rb.erb
|
364
366
|
- lib/generators/good_job/templates/update/migrations/14_create_good_job_process_lock_indexes.rb.erb
|
367
|
+
- lib/generators/good_job/templates/update/migrations/15_create_good_job_execution_duration.rb.erb
|
365
368
|
- lib/generators/good_job/update_generator.rb
|
366
369
|
- lib/good_job.rb
|
367
370
|
- lib/good_job/active_job_extensions/batches.rb
|