32 lines
819 B
Ruby
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
|