require "db/mongo/models/server" require "db/mongo/models/report" require "lib/executors/server_executor" class DeleteServerWorker < Worker def perform(options) chef_node_name = options.fetch('server_chef_node_name') puts "Expire server '#{chef_node_name}'." call(nil) do |not_used, out, file| server = mongo.server_by_chef_node_name(chef_node_name) save_report(file, server) e = Devops::Executor::ServerExecutor.new(server, out) e.delete_server end end private def save_report(file, server) report = Devops::Model::Report.new( "file" => file, "_id" => jid, "created_by" => 'SYSTEM', "project" => server.project, "deploy_env" => server.deploy_env, "type" => Devops::Model::Report::DELETE_SERVER_TYPE ) mongo.save_report(report) end end