diff options
author | Christopher Baines <mail@cbaines.net> | 2018-04-07 15:30:44 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2018-04-12 19:05:31 +0100 |
commit | 1f43c32aa4288f5aafafc426cfb955f84732d9e3 (patch) | |
tree | 691e37c60f99822e615662703a85b3c3e35a02e7 /app/jobs | |
parent | 0a87ae262287d516b2a2c7c8db07c7d4393d5fa8 (diff) | |
download | govuk-mini-environment-admin-1f43c32aa4288f5aafafc426cfb955f84732d9e3.tar govuk-mini-environment-admin-1f43c32aa4288f5aafafc426cfb955f84732d9e3.tar.gz |
Improve the handling of jobs
Move the display in to a partial and improve. Handle the finished and
enqueued jobs in a more consistent way.
Diffstat (limited to 'app/jobs')
-rw-r--r-- | app/jobs/govuk_guix/build_job.rb | 9 | ||||
-rw-r--r-- | app/jobs/mini_environment_job.rb | 22 |
2 files changed, 31 insertions, 0 deletions
diff --git a/app/jobs/govuk_guix/build_job.rb b/app/jobs/govuk_guix/build_job.rb index eb3794e..04d1a34 100644 --- a/app/jobs/govuk_guix/build_job.rb +++ b/app/jobs/govuk_guix/build_job.rb @@ -72,4 +72,13 @@ class GovukGuix::BuildJob < GovukGuix::Job "--signon-user=#{signon_user_to_sexp(signon_user)}" end end + + def self.jobs(mini_environment_id) + QueJob + .where( + job_class: name + ).where( + "args->>0 = '#{mini_environment_id}'" + ).to_a + end end diff --git a/app/jobs/mini_environment_job.rb b/app/jobs/mini_environment_job.rb index 9635e02..90fbbd4 100644 --- a/app/jobs/mini_environment_job.rb +++ b/app/jobs/mini_environment_job.rb @@ -34,4 +34,26 @@ class MiniEnvironmentJob < Que::Job ) super end + + def self.jobs(mini_environment_id) + [ + QueJob + .where( + job_class: name + ).where( + "args->>0 = '#{mini_environment_id}'" + ).to_a, + FinishedTerraformJob + .where( + job_class: name, + model_id: mini_environment_id + ) + ].flatten.sort_by do |x| + if x.instance_of? QueJob + x.run_at + else # FinishedTerraformJob + x.created_at + end + end + end end |