2015-09-15 19:54:43 +03:00
|
|
|
require "db/mongo/models/server"
|
|
|
|
|
require "db/mongo/models/report"
|
|
|
|
|
require "lib/executors/server_executor"
|
2016-01-20 01:43:34 +03:00
|
|
|
require "workers/worker"
|
2015-09-15 19:54:43 +03:00
|
|
|
|
2016-02-02 10:34:17 +03:00
|
|
|
class DeleteExpiredServerWorker < Worker
|
2015-09-15 19:54:43 +03:00
|
|
|
|
|
|
|
|
def perform(options)
|
2016-03-09 15:44:57 +03:00
|
|
|
call do
|
|
|
|
|
server_id = options.fetch('server_id')
|
|
|
|
|
puts_and_flush "Expire server '#{server_id}'."
|
|
|
|
|
server = mongo.server_by_instance_id(server_id)
|
|
|
|
|
report = save_report(server)
|
2015-09-15 19:54:43 +03:00
|
|
|
|
|
|
|
|
e = Devops::Executor::ServerExecutor.new(server, out)
|
2015-09-17 11:50:35 +03:00
|
|
|
e.report = report
|
2015-09-15 19:54:43 +03:00
|
|
|
e.delete_server
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
2016-03-09 15:44:57 +03:00
|
|
|
def save_report(server)
|
|
|
|
|
update_report(
|
2015-09-15 19:54:43 +03:00
|
|
|
"created_by" => 'SYSTEM',
|
|
|
|
|
"project" => server.project,
|
|
|
|
|
"deploy_env" => server.deploy_env,
|
2016-02-02 10:34:17 +03:00
|
|
|
"type" => Devops::Model::Report::EXPIRE_SERVER_TYPE
|
2015-09-15 19:54:43 +03:00
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|