require "db/mongo/models/server" require "db/mongo/models/report" require "lib/executors/server_executor" require "workers/worker" class DeleteExpiredServerWorker < Worker def perform(options) 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 e.delete_server end end private def save_report(server) update_report( "created_by" => 'SYSTEM', "project" => server.project, "deploy_env" => server.deploy_env, "type" => Devops::Model::Report::EXPIRE_SERVER_TYPE ) end end