aboutsummaryrefslogtreecommitdiff
path: root/app/jobs
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-04-07 15:30:44 +0100
committerChristopher Baines <mail@cbaines.net>2018-04-12 19:05:31 +0100
commit1f43c32aa4288f5aafafc426cfb955f84732d9e3 (patch)
tree691e37c60f99822e615662703a85b3c3e35a02e7 /app/jobs
parent0a87ae262287d516b2a2c7c8db07c7d4393d5fa8 (diff)
downloadgovuk-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.rb9
-rw-r--r--app/jobs/mini_environment_job.rb22
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