Merge branch 'cid-390-async_servers_deleting' into features

This commit is contained in:
Anton Chuchkalov 2016-02-10 17:44:49 +03:00
commit 6306094883
3 changed files with 9 additions and 7 deletions

View File

@ -315,8 +315,9 @@ module Devops
private
def delete_chosen_servers!(servers)
current_user = parser.current_user
reports = servers.map do |server|
Worker.start_async(DeleteServerWorker, 'server_id' => server.id)
Worker.start_async(DeleteServerWorker, 'server_id' => server.id, 'current_user' => current_user)
end
{reports: reports}
end

View File

@ -49,8 +49,9 @@ module Devops
def delete id
server = get_server_by_key(id, parser.instance_key)
Devops::Db.connector.check_project_auth server.project, server.deploy_env, parser.current_user
jid = Worker.start_async(DeleteServerWorker, 'server_id' => id)
current_user = parser.current_user
Devops::Db.connector.check_project_auth server.project, server.deploy_env, current_user
jid = Worker.start_async(DeleteServerWorker, 'server_id' => server.id, 'current_user' => current_user)
[jid]
end

View File

@ -2,18 +2,18 @@ require "db/mongo/models/server"
require "db/mongo/models/report"
require "lib/executors/server_executor"
require "workers/worker"
require 'byebug'
class DeleteServerWorker < Worker
# options should contain 'server_id'
def perform(options)
server_id = options.fetch('server_id')
current_user = options.fetch('current_user')
call() do |out, file|
out.puts "Deleting server with id #{server_id}" and out.flush
@server = mongo.server_by_instance_id(server_id)
report = save_report(file)
report = save_report(file, current_user)
e = Devops::Executor::ServerExecutor.new(@server, out)
e.report = report
@ -23,11 +23,11 @@ class DeleteServerWorker < Worker
private
def save_report(file)
def save_report(file, current_user)
report = Devops::Model::Report.new(
"file" => file,
"_id" => jid,
"created_by" => 'SYSTEM',
"created_by" => current_user,
"project" => @server.project,
"deploy_env" => @server.deploy_env,
"type" => Devops::Model::Report::DELETE_SERVER_TYPE