aboutsummaryrefslogtreecommitdiff
path: root/app/jobs/mini_environment_job.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/jobs/mini_environment_job.rb')
-rw-r--r--app/jobs/mini_environment_job.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/jobs/mini_environment_job.rb b/app/jobs/mini_environment_job.rb
new file mode 100644
index 0000000..cda28b4
--- /dev/null
+++ b/app/jobs/mini_environment_job.rb
@@ -0,0 +1,17 @@
+class MiniEnvironmentJob < Que::Job
+ def run(mini_environment_id, action)
+ ActiveRecord::Base.transaction do
+ mini_environment = MiniEnvironment.find(mini_environment_id)
+
+ mini_environment.backend.send(action, mini_environment)
+ end
+ end
+
+ def destroy
+ FinishedTerraformJob.create(
+ mini_environment_id: @mini_environment.id,
+ job_class: attrs[:job_class]
+ )
+ super
+ end
+end