fluke/devops-service/workers/delete_server_worker.rb
Tim Lianov 03dc3d8d99 v3
2018-04-04 22:44:39 +03:00

32 lines
819 B
Ruby

require "workers/worker"
class DeleteServerWorker < Worker
# options must contain 'server_id', 'current_user'
def perform(options)
server_id = options.fetch('server_id')
owner = options['user'] || 'SYSTEM'
call do |out, task|
server = Devops::Model::Server.find(server_id)
set_task_data({
"created_by" => owner,
"project" => server.project,
"environment" => server.environment,
"server_id" => server.id,
"category" => server.category,
"type" => Devops::Model::JobTask::DELETE_SERVER_TYPE
})
msg = "Trying to delete server '#{server.id}'"
logger.info msg
out.puts msg
out.flush
e = Devops::Executor::ServerExecutor.new(server, out, owner)
e.job_task = task
e.delete_server
end
end
end