fluke/devops-service/workers/delete_server_worker.rb
2016-01-20 13:13:48 +03:00

38 lines
897 B
Ruby

require "db/mongo/models/server"
require "db/mongo/models/report"
require "lib/executors/server_executor"
require "workers/worker"
class DeleteServerWorker < Worker
def perform(options)
chef_node_name = options.fetch('server_chef_node_name')
puts "Expire server '#{chef_node_name}'."
call() do |out, file|
server = mongo.server_by_chef_node_name(chef_node_name)
report = save_report(file, server)
e = Devops::Executor::ServerExecutor.new(server, out)
e.report = report
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)
report
end
end