diff --git a/devops-service/lib/executors/expiration_scheduler.rb b/devops-service/lib/executors/expiration_scheduler.rb index d84702d..33cc2e7 100644 --- a/devops-service/lib/executors/expiration_scheduler.rb +++ b/devops-service/lib/executors/expiration_scheduler.rb @@ -9,7 +9,7 @@ module Devops def schedule_expiration! return unless @expires - DeleteExpiredServerWorker.perform_in(interval_in_seconds, server_chef_node_name: @server.chef_node_name) + DeleteExpiredServerWorker.perform_in(interval_in_seconds, server_id: @server.id) end def interval_in_seconds diff --git a/devops-service/lib/executors/server_executor.rb b/devops-service/lib/executors/server_executor.rb index 54090d4..a31d471 100644 --- a/devops-service/lib/executors/server_executor.rb +++ b/devops-service/lib/executors/server_executor.rb @@ -511,8 +511,8 @@ module Devops def schedule_expiration if @deploy_env.expires - puts_and_flush "Planning expiration in #{@deploy_env.expires}" - ExpirationScheduler.new(@deploy_env.expires, @server).schedule_expiration! + job_id = ExpirationScheduler.new(@deploy_env.expires, @server).schedule_expiration! + puts_and_flush "Planning expiration in #{@deploy_env.expires}, job_id: #{job_id}" end end diff --git a/devops-service/spec/executors/expiration_scheduler_spec.rb b/devops-service/spec/executors/expiration_scheduler_spec.rb index f8009f8..c3882aa 100644 --- a/devops-service/spec/executors/expiration_scheduler_spec.rb +++ b/devops-service/spec/executors/expiration_scheduler_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Devops::Executor::ExpirationScheduler do describe '#schedule_expiration!' do it 'schedules server deleting at given time' do - expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, server_chef_node_name: 'chef_node_name') + expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, server_id: server.id) described_class.new('2m', server).schedule_expiration! end diff --git a/devops-service/spec/executors/server_executor_spec.rb b/devops-service/spec/executors/server_executor_spec.rb index 7c57f75..d3ff57a 100644 --- a/devops-service/spec/executors/server_executor_spec.rb +++ b/devops-service/spec/executors/server_executor_spec.rb @@ -140,7 +140,7 @@ RSpec.describe Devops::Executor::ServerExecutor, type: :executor, stubbed_connec it 'schedules expiration for server' do deploy_env.expires = '2m' allow(DeleteExpiredServerWorker).to receive(:perform_in) - expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, {server_chef_node_name: 'node_name'}) + expect(DeleteExpiredServerWorker).to receive(:perform_in).with(120, hash_including(:server_id)) create_server end diff --git a/devops-service/workers/delete_expired_server_worker.rb b/devops-service/workers/delete_expired_server_worker.rb index a749e73..0d2ee7f 100644 --- a/devops-service/workers/delete_expired_server_worker.rb +++ b/devops-service/workers/delete_expired_server_worker.rb @@ -6,12 +6,11 @@ require "workers/worker" class DeleteExpiredServerWorker < Worker def perform(options) - chef_node_name = options.fetch('server_chef_node_name') - - call() do |out, file| - out.puts "Expire server '#{chef_node_name}'." - server = mongo.server_by_chef_node_name(chef_node_name) - report = save_report(file, server) + call do + server_id = options.fetch('server_id') + puts_and_flush "Expire server '#{server_id}'." + server = mongo.server_by_instance_id(server_id) + report = save_report(server) e = Devops::Executor::ServerExecutor.new(server, out) e.report = report @@ -21,17 +20,13 @@ class DeleteExpiredServerWorker < Worker private - def save_report(file, server) - report = Devops::Model::Report.new( - "file" => file, - "_id" => jid, + def save_report(server) + update_report( "created_by" => 'SYSTEM', "project" => server.project, "deploy_env" => server.deploy_env, "type" => Devops::Model::Report::EXPIRE_SERVER_TYPE ) - mongo.save_report(report) - report end end